home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / mpmod160.zip / MPMODEM.DOC < prev    next >
Text File  |  1994-01-01  |  117KB  |  2,638 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                              MPModem v1.60
  25.  
  26.  
  27.                         Implements Xmodem, Ymodem &
  28.                         Zmodem all in one package.
  29.  
  30.                     Includes many custom enhancements
  31.                    like Fast transmissions, Compressed
  32.                       transmissions and large block
  33.                                transfers.
  34.  
  35.                               (C) Copyright
  36.                            All rights Reserved.
  37.  
  38.                                 Mark Jose
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                 This manual is Copyright (C) to M. Jose.
  59.  
  60.  
  61. MPModem v1.60  Copyright (C) M. Jose                                 Page 1
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.    Table of Contents
  75.    -----------------
  76.  
  77.    1.0   Terms and Conditions of use ................................ 2
  78.    1.1   Disclaimer ................................................. 3
  79.    1.2   License agreement .......................................... 3
  80.    2.0   MPModem: What does it do? .................................. 4
  81.    2.1   The MPModem Screen ......................................... 6
  82.    3.0   What equipment do I need? .................................. 10
  83.    3.1   Configuring MPModem with MPConfig .......................... 10
  84.    3.1.1    File Transfer Options Screen ............................ 11
  85.    3.1.2    General Setup Options Screen ............................ 16
  86.    3.1.3    Modem/Port Options ...................................... 19
  87.    3.1.4    Communication Port Addresses ............................ 21
  88.    3.1.5    Miscellaneous Items ..................................... 22
  89.  
  90.    3.1.6    Screen & Colours Setup .................................. 24
  91.    3.1.7    Save Configuration ...................................... 25
  92.    4.0   Running MPModem from DOS ................................... 26
  93.    4.0.1    BBS Users ............................................... 30
  94.    5.0   File Formats ............................................... 32
  95.    5.0.1    Input File .............................................. 32
  96.    5.0.2    Log file format ......................................... 32
  97.    5.0.3    Report file format ...................................... 33
  98.    6.0   Future Enhancements ........................................ 34
  99.    7.0   Messages ................................................... 35
  100.    7.0.1    System Messages ......................................... 35
  101.    7.0.2    Report File Messages .................................... 48
  102.    8.0   Exit Codes ................................................. 50
  103.    9.0   Running MPModem from a Bulletin Board ...................... 52
  104.    9.0.1    Reading the log file to obtain transfer details ......... 54
  105.    10.0  Executing commands with Zmodem ............................. 55
  106.    11.0  Acknowledgements ........................................... 56
  107.  
  108. MPModem v1.60  Copyright (C) M. Jose                                 Page 2
  109.  
  110.  
  111.    1.0  Terms and Conditions of Use.
  112.    ---------------------------------
  113.  
  114.  
  115.    This  program  is  freeware  and  as  such  the author retains full
  116.    copyright over the contents of this  file, all files written by the
  117.    author  and   the  format  of  files   generated  by  the  programs
  118.    MPModem.Exe,  MPConfig.Exe,  and  Cfg-Conv.Exe.  This  includes the
  119.    configuration file  (MPModem.Cfg), the log  file (MPModem.Log), the
  120.    report  file (MPModem.Rpt)  and any  other files  other than  files
  121.    transmitted through this program. (1)
  122.  
  123.    The author encourages you to  distribute this program to any person
  124.    or persons you  wish so long as the  contents thereof are unaltered
  125.    in any way other than the  form of archiver or compressor used. The
  126.    author  supports  the  use  of  the  LHA  group  of compressors and
  127.    archivers. See "License agreement" for more details and specifics.
  128.  
  129.    Any source is provided free of  charge. You may use the source code
  130.    within your own programs SO LONG as you include that source as part
  131.    of the  distribution of your  program, just like  MPModem has done.
  132.    You may make  changes to the source code  and redistribute, so long
  133.    as you keep any existing  copyright notices intact. Please annotate
  134.    where appropriate.
  135.  
  136.    You MAY NOT use the source  code in your programs WITHOUT including
  137.    the  source  with  the  distribution  containing  your program. The
  138.    reason  is simply  to allow  others to  use the  code and therefore
  139.    everyone benefits. Failure to adhere  to this simple rule means you
  140.    CANNOT  use  the  source  code  or  any  derivative thereof in your
  141.    programs.  To   do  so  is   to  violate  international   copyright
  142.    conventions.
  143.  
  144. ----------
  145.  (1) In  other words, any files  you send or receive  using any of the
  146.  protocols contained within MPModem are (of course) copyright of their
  147.  respective owners  and as such cannot  be copyright to me.  Any other
  148.  files created by MPModem and  related programs for statistical and or
  149.  control purposes are the copyright property of the author.
  150.  
  151. MPModem v1.60  Copyright (C) M. Jose                                 Page 3
  152.  
  153.    1.1  Disclaimer
  154.    ---------------
  155.  
  156.    This  product is  provided to  you "as  is". There  is no  warranty
  157.    either expressed or implied applicable to this program or any other
  158.    utility or program  produced by the author. Use  of this program is
  159.    at  your own  risk and  as such  the author  is not  liable for any
  160.    damages or loss of profits  resulting either directly or indirectly
  161.    from  your  ability  to  correctly  or  incorrectly  use  the  said
  162.    products.
  163.  
  164.  
  165.    The author makes  no warranty that this program  and all associated
  166.    programs are  fit for any particular  purpose. Any implied warranty
  167.    of merchantability is expressely and specifically denied.
  168.  
  169.  
  170.    By using  this program, its  associated programs and  documentation
  171.    you agree to  the above conditions as outlined  in sections 1.0 and
  172.    1.1 respectively.
  173.  
  174.  
  175.    1.2  License agreement
  176.    ----------------------
  177.  
  178.  
  179.    You are granted  a license to use this  product for whatever reason
  180.    you  see  fit.  Under  no  circumstances  do  you own this product.
  181.    Although  it is  free to  you, it   is NOT  Public Domain  - it  is
  182.    copyrighted by Mark Jose and shall remain so.
  183.  
  184.  
  185.    You may  distribute this program in  unmodified form which includes
  186.    all programs, documentation, data and other files.
  187.  
  188.  
  189.    You  may not  include the  product with  any other  product for any
  190.    reason whatsoever and  you may not charge or  elicit payment of any
  191.    kind for the  copying or transfer of this  program for other people
  192.    to  evaluate other  than to  recoup  the  costs of  the media  that
  193.    contains this product.
  194.  
  195.    There are exclusions to this:
  196.  
  197.  
  198.         If you first contact me, I MAY allow you to include this
  199.         program with other packages like CD-ROM software
  200.         collections and so on. In which case, terms can be
  201.         negotiated.
  202.  
  203.  
  204.  
  205.    All  Bulletin Board  operators may  allow the  downloading of  this
  206.    product providing the Bulletin Board  is not engaged in trading for
  207.    profit  and/or  repackaging  software  in  any  form other than the
  208.    original form of this product and all its accompanying articles and
  209.    products  and is  not charging  users of  their Bulletin Board(s) a
  210.    specific fee to download this product.
  211. MPModem v1.60  Copyright (C) M. Jose                                 Page 4
  212.  
  213.  
  214.    2.0  MPModem: What does it do?
  215.    ------------------------------
  216.  
  217.  
  218.    MPModem implements 3 main protocols, these being Xmodem, Ymodem and
  219.    Zmodem. It  also implements a further  derivative of Xmodem, Xmodem
  220.    with  1024  byte  blocks  (the  normal  is  128  bytes)  as well as
  221.    Ymodem-G,  a full  streaming non-error-correcting  protocol derived
  222.    from Ymodem.
  223.  
  224.    The  implementation of  Ymodem is  not just  simply Xmodem  with 1k
  225.    (1024  byte) blocks  and a  filename header  but rather  it is  the
  226.    "real" Ymodem which can take  varying sized (128/1024 byte) blocks,
  227.    transfer  files without  padding and  preserves the  file date  and
  228.    time.
  229.  
  230.    Zmodem is the "evolution" of  X/Ymodem to a more flexible protocol.
  231.    It has the  ability to resume a previously  aborted transfer and is
  232.    very rigid when  dealing with noisy lines (though  not perfect). It
  233.    also supports Fast-style file  transfers, large block transfers and
  234.    compression.
  235.  
  236.    My implementation of Zmodem is the same as that of other authors of
  237.    Zmodem  with the  major exception  that it  allows the  transfer of
  238.    files from systems like the  Macintosh (tm), Apple (tm), Unix (tm),
  239.    BSD (and  its various connotations)  without causing problems  with
  240.    filenames and MacBinary headers (when it  is a MFS). This system is
  241.    called "Filename Integration" and is copyrighted by me.
  242.  
  243.    I have also implemented my  own version (non-copyrighted) of a very
  244.    basic compression routine  first used by Richard B.  Johnson in his
  245.    program  Jmodem as  well as  a Fast  mode transfer  based on  PC²'s
  246.    "Turbo" transfer. The difference between  mine and PC²'s version is
  247.    that  mine   does  not  use  variable   length  headers  which  are
  248.    copyrighted to Chuck Forsberg.
  249.  
  250.    This version  incorporates larger block sizes than normal  Zmodems.
  251.    This  is loosely  based on  the "ZedZap  protocol" which allows for
  252.    Fido-style mailers  to transfer Zmodem  blocks of up  to 8192 bytes
  253.    (as against  the norm of  1024). This process  is rather clumsy  in
  254.    that  it just  increases the  size of  the blocks  until it  either
  255.    receives an error  or reaches its maximum blocksize  of 8192 bytes.
  256.    My system uses  a much better way (in my  opinion) which allows the
  257.    sender  and receiver  to negotiate  the ability  to transmit  large
  258.    blocks and then defaults to a maximum block size of 4096 bytes.
  259.  
  260.    MPModem  uses fully  buffered  interrupt  driven serial  output and
  261.    input for optimum throughput and is  optimised to give you the very
  262.    best in protocol handling. It uses a minimum of memory and will run
  263.    quite well in  less than 100k of memory (providing  you don't use a
  264.    large disk buffers and large block transfers).
  265.  
  266.    It is optimised  to work well under Desqview (tm)  and has built in
  267.    facilities to change the method  of screen writing (for the benefit
  268.    of other less well behaved multi-taskers), to set larger disk read/
  269.    write buffers and larger/smaller communications I/O buffers.
  270. MPModem v1.60  Copyright (C) M. Jose                                 Page 5
  271.  
  272.                        This page intentionally
  273.                              left blank.
  274.  
  275. MPModem v1.60  Copyright (C) M. Jose                                 Page 6
  276.  
  277.  
  278.   2.1  The MPModem Screen.
  279.   ------------------------
  280.  
  281.     ┌─────────────────────────────────────────────────────────────────────┐
  282.     │                            Zmodem Receive  (1)                      │
  283.     ├─────────────────────────────────────────────────────────────────┬───┤
  284.     │ Pathname:   (2)                                                 │CAR│(26)
  285.     │ Filename:   (3)                                                 ├───┤
  286.     │                                                                 │BIN│(27)
  287.     │ Check Type   : CRC-16    (4)     Blocks Expected:      (9)      ├───┤
  288.     │ Error Count  :           (5)     Blocks Received:      (10)     │FST│(28)
  289.     │ Last Frame   :           (6)     Approx. Cps    :      (11)     ├───┤
  290.     │                                                                 │CMP│(29)
  291.     │ Transfer Time:           (7)     Bytes Expected :      (12)     ├───┤
  292.     │ Elapsed Time :           (8)     Bytes Received :      (13)     │LOG│(30)
  293.     │                                                                 ├───┤
  294.     │ Messages:                                                       │MOD│(31)
  295.     │  Initialising file transfer.  (14)                              ├───┤
  296. (15)│     (16)     (17)    (18)   (19) (20)        (21)           (22)│KIL│(32)
  297.     ├───────────┬───────┬────────┬────┬────┬───────────────────────┬──┼───┤
  298.     │RX:        │Port: 1│FIFO:  4│    │    │Space: 133447936  bytes│ 5│BIG│(33)
  299.     ├───────────┴───────┴────────┴────┴────┴───────────────────────┴──┴───┤
  300.     │    Version  1.60  MPModem (C) Copyright 1993 M. Jose                │
  301.     ├──────────────────────────────────────┬──────────────┬───────────────┤
  302. (23)│                                      │ Baud: 19200  │Time on  : 0   │
  303.     └──────────────────────────────────────┴──────────────┴───────────────┘
  304.                                              (24)            (25)
  305.  
  306.  
  307.    (1)    The type of transfer about to take place.
  308.  
  309.    (2)    The  "Pathname"  is  the  path  to  the  upload  or download
  310.           directory.
  311.  
  312.    (3)    The  "Filename"  is  the  name  of  the file currently being
  313.           received or sent.
  314.  
  315.    (4)    "Check Type" is the type  of block checking that is relevant
  316.           to  the particular  transfer  type  you have  selected. With
  317.           Zmodem the type of checking is either CRC-16 or CRC-32. With
  318.           Xmodem  and or  Ymodem the  checking is  either checksum  or
  319.           CRC-16.
  320.  
  321.    (5)    "Error  Count"  is  the  total   number  of  errors  so  far
  322.           encountered while  performing this file  transfer. If Zmodem
  323.           reaches about 14 errors it will abort.
  324.  
  325.    (6)    "Last  Frame" is  only  relevant  to Zmodem.  This basically
  326.           displays the last packet type that was received by Zmodem.
  327.  
  328.           This  field   will  display  "Transfer  Time"   if  you  are
  329.           receiving/downloading a file and will display "Time Left" if
  330.           you are sending/uploading a file.
  331.  
  332.    (8)    "Elapsed Time" is  the total amount of time  so far taken to
  333.           receive or send the file.
  334. MPModem v1.60  Copyright (C) M. Jose                                 Page 7
  335.  
  336.  
  337.    (9)    This     field    displays     "Blocks    Expected"     when
  338.           receiving/downloading  files   or  "Blocks  To   Send"  when
  339.           sending/uploading  files.  This  field  is  only  used  when
  340.           sending  with  Xmodem  or  Ymodem  and  receiving files with
  341.           Ymodem.
  342.  
  343.    (10)   This     field    displays     "Blocks    Received"     when
  344.           receiving/downloading   files   or    "Blocks   Sent"   when
  345.           sending/uploading files. This field  is used when sending or
  346.           receiving using Xmodem or Ymodem protocols.
  347.  
  348.    (11)   "Approx. Cps"  is an approximate Characters  Per Second rate
  349.           when  transferring  files.  Please   note  that  because  of
  350.           internal  buffering when  tsending files,  the CPS  rate may
  351.           seem too high for the baud rate selected.
  352.  
  353.    (12)   This   field   displays   either   "Bytes   Expected"   when
  354.           receiving/downloading   files  or   "Bytes  To   Send"  when
  355.           sending/uploading  files.   When  sending  files   with  any
  356.           protocol  this  will  always  contain  the  size of the file
  357.           regardless of  the protocol used.  When receiving files,  an
  358.           amount will only be shown if you are using Ymodem or Zmodem.
  359.  
  360.    (13)   This   field   displays   either   "Bytes   Received"   when
  361.           receiving/downloading    files   or    "Bytes   Sent"   when
  362.           sending/uploading files. An amount of bytes will be shown as
  363.           the  file  transfer  progresses  to  show  how  far the file
  364.           transfer has progressed.
  365.  
  366.    (14)   This field displays any error and system messages.
  367.  
  368.    (15)   Directly under  the error and  system messages field  is the
  369.           warning message  area. Generally this  is only used  to show
  370.           the  filename  that  was  transmitted  before converting the
  371.           filename to DOS format. (See the "-m" switch).
  372.  
  373.    (16)   This  box will  contain the  remote's version  number if the
  374.           remote  program sends  this information.  MPModem sends  and
  375.           receives this  information. The ability  to do so  will also
  376.           enable future features.
  377.  
  378.    (17)   This box  contains the current  port number you  are running
  379.           MPModem off. Be  aware that what you set  as the port number
  380.           in  the configuration  program (MpConfig)  will override the
  381.           port specified on the command line with the "-p" option.
  382.  
  383.    (18)   This box will  tell you if your UART chip  has a FIFO buffer
  384.           and if so  it will display the number of  bytes that will be
  385.           buffered. If no chip is present  or you have turned off this
  386.           feature via the MpConfig program, then "NO" will appear.
  387.  
  388.    (19)
  389.           This is  the current block  or packet size  of the transfer.
  390.           With Xmodem it  is always 128 (bytes), with  Xmodem-1k it is
  391.           always 1024, with  Ymodem and Ymodem-G it can  be 128 and/or
  392.           1024,  and with  Zmodem it  can be  from 32  to 1024  bytes.
  393. MPModem v1.60  Copyright (C) M. Jose                                 Page 8
  394.  
  395.    (20)   This is  the compressed block  size. This will  only display
  396.           when both you and the remote have activate compression.
  397.  
  398.    (21)   This is  the current amount of  free bytes left on  the disk
  399.           where  the receival  of the  file  is  going to.  It is  not
  400.           perfectly accurate  until the whole  file has been  received
  401.           since it does not take into account the amount of disk space
  402.           taken for directory entries etc.  It is merely there to give
  403.           you an indication  of disk space. If you  use a multi-tasker
  404.           then the figure may be wrong  until the next file is started
  405.           and a physical read of disk space takes place.
  406.  
  407.    (22)   This  is the  current time  out value  in seconds. This time
  408.           dictates how long the  transmitter or receiver routines will
  409.           wait before giving up and issuing an error message.
  410.  
  411.    (23)   This field can contain the name  of the current user (if you
  412.           are a  BBS operator) or the  name of the current  system you
  413.           are connected  to. To have  this information displayed,  you
  414.           must pass it to the program  using the "-v" switch. Refer to
  415.           the reference to "-v" later in this documentation.
  416.  
  417.    (24)   This field displays the terminal  speed of the program. With
  418.           high speed  modems (that use  compression to "cheat"),  this
  419.           value will differ from the actual modem to modem speed (also
  420.           known  as the  carrier speed).  This baud  rate is  commonly
  421.           called the connect rate.
  422.  
  423.    (25)   This field displays  the amount of time left  of the current
  424.           user (if  you are running a  BBS) or the amount  of time you
  425.           have been online to the  remote host. Some terminal programs
  426.           allow you  to pass to  this program the  amount of time  you
  427.           have been online. MpModem will  then continue to display the
  428.           time expended.  To have this  displayed you need  to specify
  429.           the  "-t"  switch.  Refer  to  the  documentation  for  more
  430.           details.
  431.  
  432.    (26)   If "CAR"  appears this means  that the carrier  is currently
  433.           being monitored. This  means that as soon as  the carrier is
  434.           found  to  have  been  lost  the  program  will  finish  the
  435.           transfer. To  activate this option, select  the "-c" command
  436.           line switch. (See "-c" for more information).
  437.  
  438.    (27)   If "BIN"  appears this means that  the current Zmodem (only)
  439.           transfers is  being transferred in binary  mode. To override
  440.           this (keeping in mind the ramifications of such action), you
  441.           may specify the  "-a" switch on the command  line. (See "-a"
  442.           for more information).
  443.  
  444.    (28)   If  we are  running in  fast mode  then it  will contain the
  445.           letters  "FST". This  mode of  transmission does  not escape
  446.           special characters  that the traditional Zmodem  will do. In
  447.           this case,  the transmission has  less overhead. The  actual
  448.           speed  increase depends  very much  on what  is in the file.
  449.           Files full of Telnet  escape characters will be dramatically
  450.           faster if sent using this method.
  451. MPModem v1.60  Copyright (C) M. Jose                                 Page 9
  452.  
  453.    (29)   When a transmission  is to be made while  trying to compress
  454.           the data,  this box will contain  the letters "CMP". MPModem
  455.           will only ever send a  compressed packet when the compressed
  456.           length of  the block of  data is less  than the uncompressed
  457.           block of data.
  458.  
  459.    (30)   If "LOG" appears in this  frame then the current transfer is
  460.           being  logged  to  the  file  "MPMODEM.LOG".  To enable this
  461.           function,   ensure  that   the  option   "Always  log   file
  462.           transfers?" in  the "File Transfer  Options" section of  the
  463.           MpConfig program is set to "Y".
  464.  
  465.           This is MANDATORY  for sysops - unless of  course they don't
  466.           like to keep track of what files the users send and receive!
  467.  
  468.    (31)   If "MOD" is displayed this means that ALL incoming files are
  469.           checked and  modified to DOS  standards. This is  handy when
  470.           transferring  files  from  a  Macintosh  or  other "strange"
  471.           naming convention site. (See "-m" for more details).
  472.  
  473.    (32)   If  "KIL" appears  in this  box while  receiving a file then
  474.           this means that if the transfer  is aborted and the file not
  475.           properly  recieved then  that file  will be  deleted. If  it
  476.           appears  while sending  then this  indicates that  after the
  477.           successful  completion of  the transfer,  this file  will be
  478.           deleted off your disk.
  479.  
  480.    (33)   When this  box displays "BIG",  both you and  the remote end
  481.           have invoked MPModem with "-l"  which allows you to transmit
  482.           and receive blocks of up to 4096 bytes (rather than 1024).
  483.  
  484.  
  485. MPModem v1.60  Copyright (C) M. Jose                                 Page 10
  486.  
  487.   3.0  What equipment do I need?
  488.   ------------------------------
  489.  
  490.    You  need  the  bare  minimum  configuration  of PC equipment which
  491.    comprises a PC, PC/XT, PC/AT, PS2 and so on up the scale.
  492.  
  493.    The  program  takes  up  about  80k  with  an  additional 10k after
  494.    startup. That means around about 90k  in total. If you increase the
  495.    size of the disk read/write  and/or communications buffer, then you
  496.    will also increase the overall memory usage.
  497.  
  498.    Likewise,  if you  are running   a Zmodem  session and  using large
  499.    blocks (via  the "-l" switch) then  the overall memory requirements
  500.    increase by about  10k. Keep in mind that this  amount of memory is
  501.    used  IRREGARDLESS of  whether the  remote end  can send or receive
  502.    with large blocks.
  503.  
  504.    A safe memory amount would be about  a minimum of 256k or much more
  505.    if you  are running this  from a  BBS.  As well you  will require a
  506.    COM1: to  COM8: serial port(s) which  use an 8250, 16450,  16550 or
  507.    similar chip.
  508.  
  509.  
  510.   3.1  Configuring MPModem with MPConfig
  511.   --------------------------------------
  512.  
  513.    In order  to streamline the usage  of MPModem, there is  a facility
  514.    available to preconfigure MPModem  using a program called MPConfig.
  515.    This program allows  you set most "options" and  thus never have to
  516.    change them during the normal course of running the program.
  517.  
  518.  
  519.    Open invoking MPConfig, you are presented with a screen:
  520.  
  521.  
  522.                          ╔═══╡ Configuration Menu ╞═══╗
  523.                          ║                            ║
  524.                          ║    File Transfer Options   ║
  525.                          ║    General Setup Options   ║
  526.                          ║    Modem/Port Options      ║
  527.                          ║    Com. Port Addresses     ║
  528.                          ║    Miscellaneous Items     ║
  529.                          ║    Screen & Colours Setup  ║
  530.                          ║    Save Configuration      ║
  531.                          ║                            ║
  532.                          ║                            ║
  533.                          ╠════════════════════════════╣
  534.                          ║           MPModem          ║
  535.                          ║   Copyright (c) 1993 v2.1  ║
  536.                          ║         M. Jose          ║
  537.                          ╚════════════════════════════╝
  538.  
  539.    This is  the "master menu".  Here you select  the option you  would
  540.    like by pressing  the Up or Down arrow keys.  Once the menu bar (it
  541.    will  highlight the  text) is  over the  required option, press the
  542.    [Enter] key  to enter that  sub menu.
  543.  
  544. MPModem v1.60  Copyright (C) M. Jose                                 Page 11
  545.  
  546.   3.1.1  File Transfer Options Screen
  547.   -----------------------------------
  548.  
  549.    The following is the screen which  is displayed when you select the
  550.    "File Transfer Options" off the master menu:
  551.  
  552.      ╔═══════════════════════════╡File Transfer Options╞══════════════════╗
  553.      ║                                                                    ║
  554.      ║  Always monitor Carrier during transfers?.............  Y          ║
  555.      ║  Delete a failed transfer?   (Receiving)..............  N          ║
  556.      ║  Allow remote to execute programs/commands?...........  N          ║
  557.      ║  Use CTS/RTS hardware flow control?...................  N          ║
  558.      ║  Delete file after transfer?  (Sending)...............  N          ║
  559.      ║  Always log file transfers?...........................  Y          ║
  560.      ║  Modify filenames when receiving files?...............  N          ║
  561.      ║  Generate timeout values according to Baud rates?.....  Y          ║
  562.      ║  Use BIOS when writing to the screen?.................  N          ║
  563.      ║  Force the sender to resume if necessary?.............  N          ║
  564.      ║  Force the sender to resume with CRC check?...........  N          ║
  565.      ║  Run this program from a BBS?.........................  N          ║
  566.      ║  Allow creation of a unique name? (BBS only)..........  N          ║
  567.      ║  Always Escape all control characters? (Zmodem only)..  N          ║
  568.      ║  Use current Comm. port settings for Baud rate?.......  N          ║
  569.      ║                                                                    ║
  570.      ║                                                                    ║
  571.      ║                                                                    ║
  572.      ║Watch for Modem Hangup, dropped lines etc.                          ║
  573.      ╟────────────────────────────────────────────────────────────────────╢
  574.      ║Esc: Exit, : Move                     MPModem Configuration Copyri║
  575.      ╚════════════════════════════════════════════════════════════════════╝
  576.  
  577.    Now follows an explanation of all the configuration questions.
  578.  
  579.    Always Monitor Carrier during transfers?
  580.          Selecting  "Y" will  result in  MPModem quitting  the current
  581.          transfer if it detects the  loss of carrier. For those modems
  582.          that do  not force carrier high,  do not use this  switch but
  583.          rely on the "timing" capabilities of the program to know when
  584.          a  connection  is  lost.   That  is,  continual  timeouts  by
  585.          X/Y/Zmodem  will cause  it to  abort. (See  Timeout for  more
  586.          details).
  587.  
  588.          If you only want to occasionally monitor carrier, then do not
  589.          annswer Y here but specify "-c"  on the command line when you
  590.          want to monitor carrier.
  591.  
  592.    Delete a failed transfer?   (Receiving)
  593.  
  594.           If you answer "Y" to  this question, MPModem will DELETE any
  595.           failed transfer.  This option is  especially useful for  BBS
  596.           operators who do not want  their disk crowded with partially
  597.           received files.
  598.  
  599.           The default is 'N'.
  600.  
  601. MPModem v1.60  Copyright (C) M. Jose                                 Page 12
  602.  
  603.  
  604.    Allow remote to execute programs/commands?
  605.  
  606.          Answering "Y" will allow Zmodem  to receive commands from the
  607.          receiver  requesting  that  certain  commands  be  done.  For
  608.          example, MPModem  can be made  to execute another  program or
  609.          even run  a batch file. It  can be made to  execute a command
  610.          and  then return  back to  the program  or it  can be made to
  611.          overwrite the current program  in memory with another program
  612.          specified by the remote.
  613.  
  614.          This  is  a  potentially  powerful  and  dangerous option and
  615.          should only be activated when you have 100% confidence in the
  616.          remote user.
  617.  
  618.          It executes the  unix command of "SH.EXE" for  shell. If  you
  619.          want the equivalent for DOS then check  your  local  BBS  for
  620.          one and rename it as  "SH.EXE" and place  it in  your MPModem
  621.          directory.
  622.  
  623.          The default is 'N'.
  624.  
  625.  
  626.  
  627.  
  628.    Use CTS/RTS hardware flow control?
  629.  
  630.           Answer "Y" here to use CTS/RTS flow control. Originally this
  631.           type of  control was designed  for half-duplex modems  where
  632.           the  change in  signal would  cause the  modem to  swap from
  633.           being  a receiver  to being  a transmitter.  Now it  is more
  634.           commonly  used  with  speed  buffered  modems  (with  say, a
  635.           connect rate of 9600 and a DTE rate of 19200).
  636.  
  637.           To  prevent the  modem from  skipping data,  the modem's RTS
  638.           pin's voltage is lowered to tell  the local DTE that we must
  639.           pause, until RTS is again  asserted, before sending any more
  640.           data.
  641.  
  642.           If  you have  speed buffering,  MNP or  LAP/M then make sure
  643.           CTS/RTS flow control is enable on the modem and also through
  644.           the program.
  645.  
  646.           The default is 'N'.
  647.  
  648.  
  649.    Delete file after transfer?  (Sending)
  650.  
  651.           Answering 'Y'  will mean that after  each successful SENDING
  652.           of a file, that file will  be deleted off your disk. This is
  653.           especially handy  for people who  are sending one  off files
  654.           that are no longer needed on the host machine.
  655.  
  656.           The default is 'N'.
  657.  
  658. MPModem v1.60  Copyright (C) M. Jose                                 Page 13
  659.  
  660.  
  661.    Always log file transfers?
  662.  
  663.           It is suggested  that you leave this as  'Y' (Log always on)
  664.           as important  information is placed in  the log. For Sysops,
  665.           it is MANDATORY  in order for their supported  board to work
  666.           properly.
  667.  
  668.           The default is 'Y'.
  669.  
  670.  
  671.    Modify filenames when receiving files?
  672.  
  673.           If you are always receiving files from a Macintosh source or
  674.           you  are a  Sysop who  thinks he  may receive  files from  a
  675.           Macintosh source, then answer 'Y' to this question.
  676.  
  677.  
  678.           For  example,  a  file  transferred  from  a  Macintosh (tm)
  679.           machine may be called:
  680.  
  681.                     Some Macpaint Pics.cpt
  682.  
  683.           with this switch active, the filename would be converted to:
  684.  
  685.                     Some_Mac.cpt.
  686.  
  687.           Although this option is only really useful when transferring
  688.           files from  a Macintosh (R)  system to DOS  you should still
  689.           answer "Y" here just in case  you ever receive a file from a
  690.           Macintosh user.
  691.  
  692.           Any non-standard MS/PC Dos format (even Unix and Amiga) will
  693.           be converted to DOS format.
  694.  
  695.           The default is 'N'.
  696.  
  697.  
  698.    Generate timeout values according to Baud rates?
  699.  
  700.           Answering "Y"  to this question will  make MPModem calculate
  701.           the  value  (in  seconds)   required  for  timeout  handling
  702.           according  to the  BPS rate  (not the  BAUD rate).  Thus the
  703.           faster the connection speed the shorter the timeout value.
  704.  
  705.           The  absolute minimum  timeout value  is 5  seconds and  the
  706.           maximum is around 50 seconds for a 300 BPS connection.
  707.  
  708. MPModem v1.60  Copyright (C) M. Jose                                 Page 14
  709.  
  710.    Use BIOS when writing to the screen?
  711.  
  712.           Answer  "Y"  to  this  if  you  are  always  running under a
  713.           multi-tasking/      multi-window      environment      where
  714.           "bleed-through" is not desirable. Although the screen writes
  715.           are some degree slower if you  answer "Y", it is better than
  716.           "bleed-through" to the other screen if you answer "N".
  717.  
  718.           If running Desqview  then you may use "Y"  for direct screen
  719.           writes as this  program is very well behaved  when used with
  720.           Desqview and it will speed up screen writing.
  721.  
  722.           The default is 'N'.
  723.  
  724.    Force the sender to resume if necessary?
  725.  
  726.           This affects Zmodem file transfers only!
  727.           This is  the same as the  "-y" switch. IF you  are running a
  728.           BBS then make sure that you  answer 'N' to this question. To
  729.           all other users, it is recommended that if you receive files
  730.           from a  Macintosh system where the  filename is renamed that
  731.           you also answer 'N'. The reason why is:
  732.  
  733.              Suppose you  want to receive  two files from  a Macintosh
  734.              system called  "GeneralText.Word" (size 25067)  bytes and
  735.              another  file called  "GeneralTestAns.Word" (size  15460)
  736.              bytes. With the "-m"  switch specified the first filename
  737.              will be  renamed as "GENERALT.WOR". When  you receive the
  738.              second   filename,   it   too    will   be   renamed   to
  739.              "GENERALT.WOR".  If you  force the  sender to  resume, it
  740.              will try to  resume at 25067 bytes (the  original size of
  741.              "GeneralText.Word").  As you  can  see  this is  past the
  742.              total     file    size     of    the     incoming    file
  743.              "GeneralTestAns.Word". Improperly  written Zmodem drivers
  744.              will seize  up at this  and at the  very least the  first
  745.              file    "GeneralText.Word"   will    be   truncated   and
  746.              overwritten.
  747.  
  748.           Generally,  the author  encourages ALL  users to  leave this
  749.           switch  as  'N'  unless  they  are  absolutely  certain they
  750.           realise  the consequences  of their  actions.
  751.  
  752.  
  753.    Force the sender to resume with CRC check?
  754.  
  755.           BLANK.
  756.  
  757.  
  758.    Run this program from a BBS?
  759.  
  760.           This switch  is the same as  the "-!" switch. Answer  'Y' to
  761.           this question  if and only  if you are  running this program
  762.           from a BBS such as RemoteAccess. The default is 'N'.
  763. MPModem v1.60  Copyright (C) M. Jose                                 Page 15
  764.  
  765.  
  766.    Allow creation of a unique name?  (BBS only)
  767.  
  768.           When receiving  files it is sometimes  necessary to create a
  769.           unique filename if the incoming file has the same name as an
  770.           existing file.
  771.  
  772.           For example, suppose we had a file called "frednurk.zip". If
  773.           the incoming file is "frednurk.zip"  but is a different size
  774.           than  the  "frednurk.zip"  we  have  on  our system then the
  775.           incoming file is received as "frednurk.zi1".
  776.  
  777.           Under  normal  circumstances  this  is  not  desirable  when
  778.           running under a  BBS as this would allow  people to upload a
  779.           file that is already in existance.
  780.  
  781.           The default is "N".
  782.  
  783.  
  784.    Always Escape all control characters? (Zmodem only)
  785.  
  786.           If you are to use Zmodem to  send to a remote site through a
  787.           network that does not accept the full IBM character set of 0
  788.           to  255  decimal,  and  thus  only  supports  A-Z,  a-z  and
  789.           characters like %$#@!*&^, then  answer "Y" to this question.
  790.           This will  cause all control  characters and extended  ascii
  791.           characters to be converted to  a character acceptable by the
  792.           network or  computer you are  sending to or  receiving from.
  793.           Using this method will cause the program to run slower as it
  794.           has to encode such characters which adds 50% to the overhead
  795.           of the program.
  796.  
  797.    Use current Comm. port settings for Baud rate?
  798.  
  799.           Answer "Y" to this if you are running MPModem under a BBS or
  800.           some program  that does not report  the actual connect rate.
  801.           Some BBS  (like RemoteAccess) report only  the carrier speed
  802.           which  may differ  if speed  buffering for  MNP or  LAP/M is
  803.           active. For example, you may connect with a CARRIER speed of
  804.           9600  but a  CONNECT speed  of 19200.  MPModem requires  the
  805.           CONNECT speed rather than the CARRIER speed.
  806.  
  807.           If you are having trouble  running MPModem - when you select
  808.           it you get garbage appear on the screen - then answering "Y"
  809.           to this  option will rectify  the problem (if  it has to  do
  810.           with invalid BAUD rates!)
  811.  
  812. MPModem v1.60  Copyright (C) M. Jose                                 Page 16
  813.  
  814.   3.1.2  General Setup Options Screen
  815.   -----------------------------------
  816.  
  817.    The following is the screen which  is displayed when you select the
  818.    "General Setup Options" off the master menu:
  819.  
  820.      ╔═══════════════════════════╡General Setup Options╞══════════════════╗
  821.      ║                                                                    ║
  822.      ║  Enter size of Disk I/O Buffer. (1 to 20k)                  1      ║
  823.      ║  Enter size of Receive Communications buffer. (1 to 20k)    2      ║
  824.      ║  Enter size of Transmit Communications buffer. (1 to 20k)   1      ║
  825.      ║  If running from a BBS, enter port number. (1 to 8)         0      ║
  826.      ║  Wait for user to ACK. (32 to 1024 bytes)                   0      ║
  827.      ║  Use sub-packets. (24 to 1024 bytes)                        0      ║
  828.      ║                                                                    ║
  829.      ║                                                                    ║
  830.      ║                                                                    ║
  831.      ║                                                                    ║
  832.      ║                                                                    ║
  833.      ║                                                                    ║
  834.      ║                                                                    ║
  835.      ║                                                                    ║
  836.      ║                                                                    ║
  837.      ║                                                                    ║
  838.      ║                                                                    ║
  839.      ║                                                                    ║
  840.      ║                                                                    ║
  841.      ║The larger the buffer the less disk writes per transfer.            ║
  842.      ╟────────────────────────────────────────────────────────────────────╢
  843.      ║Esc: Exit, : Move                     MPModem Configuration Copyri║
  844.      ╚════════════════════════════════════════════════════════════════════╝
  845.  
  846.  
  847.    Enter size of Disk I/O Buffer. (1 to 20k)
  848.  
  849.           This  allows  you  to  specify  the  Disk Read/Write buffer.
  850.           Specifying  a buffer  of around   2 to  4 will  decrease the
  851.           amount of  disk writes. When running  a multi-tasking and/or
  852.           multi-line BBS  and you have  plenty of memory  to spare set
  853.           the buffer at anything from 10 upwards.
  854.  
  855.           Be  aware that  should your  system freeze  or "collapse" in
  856.           some way, any bytes yet to be written to disk WILL BE LOST!!
  857.  
  858. MPModem v1.60  Copyright (C) M. Jose                                 Page 17
  859.  
  860.    Enter size of Receive Communications buffer. (1 to 20k)
  861.  
  862.           This option  lets you set the  receive communications buffer
  863.           size as used by the  internal interrupt routines of MPModem.
  864.           The optimum setting  is around 2 (2k or  2048 bytes) but you
  865.           may find your system runs better with a larger buffer of say
  866.           4 (4k  or 4096 bytes). Generally  the latter is the  case if
  867.           you  are running  under a  multi-tasker and  are doing  some
  868.           intensive work in one of "windows".
  869.  
  870.           If  you experience  CRC errors  and the  like when receiving
  871.           using Zmodem, then try setting the buffer higher. The reason
  872.           you  are getting  these errors  is your  machine just  isn't
  873.           coping  too  well  with  all  the  strain.  (Poor  thing...)
  874.  
  875.  
  876.    Enter size of Transmit Communications buffer. (1 to 20k)
  877.  
  878.           This option allows you to modify the transmit buffer used by
  879.           the internal  transmit routines of  MpModem. Generally there
  880.           will be no reason to change this buffer, but if you wish the
  881.           option is there for you.
  882.  
  883.           I have  experienced problems with  some modems not  liking a
  884.           big buffer when transferring only a small file. For example,
  885.           if you  have a Transmit buffer  of 4k but your  file is only
  886.           3k, a  couple of modems  have trouble. The  result is Zmodem
  887.           has to wait for a timeout before trying to end the transfer.
  888.  
  889.           If you set a big buffer and this occurs then you are best to
  890.           go  back to  a smaller  buffer. 1k  (or 1024  bytes) is  the
  891.           default.
  892.  
  893.  
  894.    If running from a BBS, enter port number. (1 or 2)
  895.  
  896.           This is  the same as specifying  "-p{portno}" on the command
  897.           line. If you enter a port  in here, this port will ALWAYS be
  898.           used regardless  of what your  communication or BBS  program
  899.           passes to MPModem. Use this wisely.
  900.  
  901.  
  902.    Wait for user to ACK. (32 to 1024 bytes)
  903.  
  904.           Entering  a number  in here   (from 32  to 1024)  will cause
  905.           Zmodem  to  work  just  like  an  ACK-type  protocol such as
  906.           Xmodem.
  907.  
  908.           What  this does  is cause  Zmodem to  create "frames" of the
  909.           size you specify to be sent  before an ACK is required to be
  910.           sent by the  remote system. For example, 512  will result in
  911.           an ACK being sent after every 512 bytes.
  912.  
  913.           If you do  not wish to run Zmodem as  an ACKed protocol, and
  914.           thus  as a  full streaming   protocol, then  do not  enter a
  915.           number in here.
  916.  
  917. MPModem v1.60  Copyright (C) M. Jose                                 Page 18
  918.  
  919.    Use sub-packets. (24 to 1024 bytes)
  920.  
  921.           Entering  a number  (from 24   to 1024)  in here  will cause
  922.           Zmodem to use sub-packets of  a certain length. For example,
  923.           256  will result  in sub-packets  of 256  bytes being  sent.
  924.           Specifying a  number is especially useful  if you expect the
  925.           transfers  to  take  place   under  noisy  conditions  where
  926.           error-recovery is optimised by sending smaller packets.
  927.  
  928.           The  tradeoff,  however,  is  a  higher  overhead as smaller
  929.           packets require  more data to be  "wrapped around them" such
  930.           as CRC check bytes and header information.
  931.  
  932. MPModem v1.60  Copyright (C) M. Jose                                 Page 19
  933.  
  934.   3.1.3  Modem/Port Options
  935.   -------------------------
  936.  
  937.    The following is the screen which  is displayed when you select the
  938.    "Modem/Port Options" off the master menu:
  939.  
  940.  
  941.      ╔════════════════════════════╡Modem/Port Options╞════════════════════╗
  942.      ║                                                                    ║
  943.      ║  Enable FIFOs (only applies to 16550A series chips)........  Y     ║
  944.      ║  Number of bytes before interrupting. (1/4/8 or 14)........   4    ║
  945.      ║                                                                    ║
  946.      ║                                                                    ║
  947.      ║                                                                    ║
  948.      ║                                                                    ║
  949.      ║                                                                    ║
  950.      ║                                                                    ║
  951.      ║                                                                    ║
  952.      ║                                                                    ║
  953.      ║                                                                    ║
  954.      ║                                                                    ║
  955.      ║                                                                    ║
  956.      ║                                                                    ║
  957.      ║                                                                    ║
  958.      ║                                                                    ║
  959.      ║                                                                    ║
  960.      ║                                                                    ║
  961.      ║Turn on UART buffer if there is one. Applies ONLY to 16550 & similar║
  962.      ╟────────────────────────────────────────────────────────────────────╢
  963.      ║Esc: Exit, : Move                     MPModem Configuration Copyri║
  964.      ╚════════════════════════════════════════════════════════════════════╝
  965.  
  966.  
  967.    Enable FIFOs (only applies to 16550A series chips)
  968.  
  969.           You can turn on or off the use by MPModem of the FIFO buffer
  970.           by setting this option. Generally  you would want to use the
  971.           FIFO buffer  (if you have  a chip with  it) but in  the case
  972.           where  you neither  need nor   want it,  then just  set this
  973.           option to N.
  974.  
  975.           Soapbox:
  976.               The 16550 chip (and its consequent buffer) is a somewhat
  977.               over-rated  chip. It  seems to  have become  a necessity
  978.               because of badly designed systems and even worse written
  979.               software. I have thrashed the  living daylights out of a
  980.               system with 16450 chips and experienced no problems. Yet
  981.               I  can take  the same  software to  another machine  and
  982.               experience nothing but problems.  A 16550 type chip will
  983.               not save you from  badly written communications code. (I
  984.               hope mine doesn't fall into this category!)
  985.  
  986. MPModem v1.60  Copyright (C) M. Jose                                 Page 20
  987.  
  988.  
  989.    Number of bytes before interrupting. (1/4/8 or 14)
  990.  
  991.           This allows  you to set  the buffer used  by the 16550  (and
  992.           compatible)  chips.  The  optimum  buffer  size  seems to be
  993.           around  4 bytes.  Setting it  to 1  makes it effectively act
  994.           like  a  normal  unbuffered  chip  like  the  16450  and its
  995.           predecessor, the 8250 series.
  996.  
  997.  
  998.  
  999. MPModem v1.60  Copyright (C) M. Jose                                 Page 21
  1000.  
  1001.   3.1.4  Communication Port Addresses
  1002.   -----------------------------------
  1003.  
  1004.  
  1005.      ╔════════════════════════════╡Com. Port Addresses╞═══════════════════╗
  1006.      ║                                                                    ║
  1007.      ║                        Port      Base                              ║
  1008.      ║                        Name     Address    IRQ                     ║
  1009.      ║                                                                    ║
  1010.      ║                        COM1       3F8       4                      ║
  1011.      ║                                                                    ║
  1012.      ║                        COM2       2F8       3                      ║
  1013.      ║                                                                    ║
  1014.      ║                        COM3       3E8       4                      ║
  1015.      ║                                                                    ║
  1016.      ║                        COM4       2E8       3                      ║
  1017.      ║                                                                    ║
  1018.      ║                        COM5       3F8       4                      ║
  1019.      ║                                                                    ║
  1020.      ║                        COM6       3F8       4                      ║
  1021.      ║                                                                    ║
  1022.      ║                        COM7       3F8       4                      ║
  1023.      ║                                                                    ║
  1024.      ║                        COM8       3F8       4                      ║
  1025.      ║Starting address of port 1.                                         ║
  1026.      ╟────────────────────────────────────────────────────────────────────╢
  1027.      ║Esc: Exit, : Move                     MPModem Configuration Copyri║
  1028.      ╚════════════════════════════════════════════════════════════════════╝
  1029.  
  1030.  
  1031.           Selecting this option allows you  to change the base address
  1032.           of the communications  port you are running off  (1 to 8 are
  1033.           the only  supported ports) as well  as the Interrupt ReQuest
  1034.           line number corresponding to that port.
  1035.  
  1036.           The above  values are the  accepted defaults. DO  NOT CHANGE
  1037.           them unless you know what you are doing.
  1038.  
  1039.           When  setting   port  addresses,  ensure   you  follow  your
  1040.           multi-port   installation   guide.   There's   nothing  more
  1041.           infuriating than seizing your system because of a wrong base
  1042.           address or IRQ.
  1043.  
  1044.  
  1045.  
  1046. MPModem v1.60  Copyright (C) M. Jose                                 Page 22
  1047.  
  1048.   3.1.5  Miscellaneous Items
  1049.   --------------------------
  1050.  
  1051.  
  1052.      ╔════════════════════════════╡Miscellaneous Items╞═══════════════════╗
  1053.      ║                                                                    ║
  1054.      ║  Date format                        DDMMYY                         ║
  1055.      ║  Date separator                     -                              ║
  1056.      ║  Time format                        24                             ║
  1057.      ║  Time separator                     :                              ║
  1058.      ║                                                                    ║
  1059.      ║                                                                    ║
  1060.      ║                                                                    ║
  1061.      ║                                                                    ║
  1062.      ║                                                                    ║
  1063.      ║                                                                    ║
  1064.      ║                                                                    ║
  1065.      ║                                                                    ║
  1066.      ║                                                                    ║
  1067.      ║                                                                    ║
  1068.      ║                                                                    ║
  1069.      ║                                                                    ║
  1070.      ║                                                                    ║
  1071.      ║                                                                    ║
  1072.      ║Values DD (Day), MM (Month) and YY (Year)                           ║
  1073.      ╟────────────────────────────────────────────────────────────────────╢
  1074.      ║Esc: Exit, : Move, .: Change value   MPModem Configuration Copyri║
  1075.      ╚════════════════════════════════════════════════════════════════════╝
  1076.  
  1077.    This  is the  Miscellaneous menu.  Currently this  menu is selected
  1078.    when you need to change the format of the time as displayed in both
  1079.    the log file (MPMODEM.LOG) and the report file (MPMODEM.RPT).
  1080.  
  1081.  
  1082.    Date format
  1083.  
  1084.           There  are three  formats available.  The default  is DDMMYY
  1085.           which is  commonly referred to as  the "European" format. It
  1086.           is also used by Australia and New Zealand and so on.
  1087.  
  1088.           The next format is MMDDYY which is used by countries such as
  1089.           the USA.
  1090.  
  1091.           The  last format  available is  the international  format of
  1092.           YYMMDD.
  1093.  
  1094.           DD  represents the  days, MM  represents the  month, and  YY
  1095.           represents the year.
  1096.  
  1097.           To cycle  through the various date  formats, press the right
  1098.           or left cursor keys.
  1099.  
  1100. MPModem v1.60  Copyright (C) M. Jose                                 Page 23
  1101.  
  1102.    Date separator
  1103.  
  1104.           This can be one of the following symbols:
  1105.               - : = . ~ / \ #
  1106.           To cycle through the various  separators, press the right or
  1107.           left cursor keys.
  1108.  
  1109.    Time format
  1110.  
  1111.           The time  format can either  be shown in  24 hour (military)
  1112.           time (which is the default) or as 12 hpur (am/pm) time.
  1113.  
  1114.           When using 24 hour time, the  display for 8pm and 25 minutes
  1115.           would be displayed as 20:25:00 (assuming a time separator of
  1116.           ":").
  1117.  
  1118.           When using 12 hour time, the display for the same time would
  1119.           be 8:25 pm, again assuming a time separator of ":".
  1120.  
  1121.           Again, to  toggle through the  two alternate time  displays,
  1122.           press the left or right arrow/cursor keys.
  1123.  
  1124.  
  1125.    Time separator
  1126.  
  1127.           See "Date separator", above.
  1128.  
  1129. MPModem v1.60  Copyright (C) M. Jose                                 Page 24
  1130.  
  1131.  
  1132.   3.1.6  Screen & Colours Setup
  1133.   -----------------------------
  1134.  
  1135.    This screen allows you to change the colours of the various screens
  1136.    used by MPmodem and its associated programs.
  1137.  
  1138.    If you don't have a colour  monitor then this option is superfluous
  1139.    to your needs.
  1140.  
  1141.  
  1142.  
  1143.      ╔══════════════════════════╡Screen & Colours Setup╞══════════════════╗
  1144.      ║                                                                    ║
  1145.      ║                                                                    ║
  1146.      ║               Screen Background colour                             ║
  1147.      ║               Screen Borders                                       ║
  1148.      ║               Field Names                                          ║
  1149.      ║               Text & Data Info.                                    ║
  1150.      ║               Status line                                          ║
  1151.      ║               Message colour                                       ║
  1152.      ║               Warning colour                                       ║
  1153.      ║               Menu Bar colour                                      ║
  1154.      ║               Menu text colour                                     ║
  1155.      ║                                                                    ║
  1156.      ║                                                                    ║
  1157.      ║                                                                    ║
  1158.      ║                                                                    ║
  1159.      ║                                                                    ║
  1160.      ║                                                                    ║
  1161.      ║                                                                    ║
  1162.      ║                                                                    ║
  1163.      ║The colour of the background of the screen.                         ║
  1164.      ╟────────────────────────────────────────────────────────────────────╢
  1165.      ║Esc: Exit, : Move                     MPModem Configuration Copyri║
  1166.      ╚════════════════════════════════════════════════════════════════════╝
  1167.  
  1168. MPModem v1.60  Copyright (C) M. Jose                                 Page 25
  1169.  
  1170.  
  1171.   3.1.6  Save Configuration
  1172.   -------------------------
  1173.  
  1174.           Moving to  this option and  pressing [Enter] will  cause the
  1175.           current settings to be saved to a file called "MPMODEM.CFG".
  1176.           Ensure that before you quit (unless  you do not want to save
  1177.           your changes) that you select this option.
  1178.  
  1179.  
  1180. MPModem v1.60  Copyright (C) M. Jose                                 Page 26
  1181.  
  1182.   4.0  Running MPModem from DOS
  1183.   -----------------------------
  1184.  
  1185.    MPModem runs  by specifying switches  on the command  line. Some of
  1186.    the command line switches are optional but a few are mandatory such
  1187.    as the Port and the transfer type. Below are detailed a list of the
  1188.    switches/options you may use with MPModem:
  1189.  
  1190.        Switch/
  1191.        Option       Description
  1192.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1193.          -@         This causes Ymodem or Zmodem to obtain the list of
  1194.                     filenames to  send to the  remote from a  file. To
  1195.                     use  this you  must  follow  this switch  with the
  1196.                     filename to use. E.g -@ input.fil
  1197.  
  1198.                     Note that there must be a space after the "-@" and
  1199.                     then the filename. For more details of the make up
  1200.                     of the input file to read from, see "Input File".
  1201.  
  1202.                     Note also  that any filename given  on the command
  1203.                     line will  be ignored and precedence  given to the
  1204.                     "-@" switch.
  1205.  
  1206.                     This switch is optional.
  1207.  
  1208.  
  1209.          -a         When using Zmodem this forces  the transfers to be
  1210.          -A         made in  Ascii  (raw  text)  mode.  Thus transfers
  1211.                     from Unix or Macintosh sites will result in the LF
  1212.                     converted to  a CR/LF combination  compatible with
  1213.                     DOS.
  1214.  
  1215.                     Using this  switch with a Binary  file will result
  1216.                     in unmentionable things happening to the file!
  1217.  
  1218.                     This switch is optional.
  1219.  
  1220.  
  1221.          -b         This sets the baud rate. Immediately following the
  1222.          -B         "-b"  must  be  the  baud  rate. Any baud rate  is
  1223.                     supported,  but the  general ones  used are:  300,
  1224.                     600,  1200,  4800,   9600,  19200,  38400,  57600,
  1225.                     115200.
  1226.  
  1227.                     For example,
  1228.                             -b9600
  1229.                     will specify that the transfer is to take place at
  1230.                     9600 baud.
  1231.  
  1232.                     I  recommend  you  DO  NOT  use  this  option, but
  1233.                     instead  configure MPModem  (via MpConfig)  to use
  1234.                     the existing baud rates. The only time this option
  1235.                     is   necessary   is   when   you   have  a  direct
  1236.                     (null-modem) connection.
  1237.  
  1238.                     This switch is optional.
  1239. MPModem v1.60  Copyright (C) M. Jose                                 Page 27
  1240.  
  1241.          -c         Make  Zmodem run in compression mode.  As  long as
  1242.          -C         the  other end  of the transmission  can also send
  1243.                     using this  type of compression,  then Zmodem will
  1244.                     attempt  to compress  ALL packets/frames  sent. It
  1245.                     will, however, only send  a compressed packet when
  1246.                     that  packet  is  smaller  than  the  uncompressed
  1247.                     packet.
  1248.  
  1249.                     This switch is optional.
  1250.  
  1251.  
  1252.          -f         Run  Zmodem in fast mode.  This greatly depends on
  1253.          -F         the remote's ability to run Zmodem in non-standard
  1254.                     mode. This  is an adapted  version of PC²'s  turbo
  1255.                     mode. The  main difference is my  version DOES NOT
  1256.                     rely  on   variable  headers  which   seem  to  be
  1257.                     copyright to Chuck Forsberg.
  1258.  
  1259.                     This switch is optional.
  1260.  
  1261.  
  1262.          -l         Run  Zmodem with  large blocks.  The normal  block
  1263.          -L         size of  Zmodem is  1024 down to around 64  bytes.
  1264.                     When  this  is  selected  (and  the  remote can do
  1265.                     likewise), then the blocksize will range from 4096
  1266.                     to around 64 bytes.
  1267.  
  1268.                     This switch is optional.
  1269.  
  1270.  
  1271.          -n         This switch allows  you to override normal  Zmodem
  1272.          -N         practice of  defaulting to  CRC-32 when protecting
  1273.                     the packet and transmit using CRC-16. The overhead
  1274.                     is reduced by 2 bytes per packet and on quite safe
  1275.                     and  noise free  lines will  offer you  protection
  1276.                     with  the  benefit  of  a  saving  in  the overall
  1277.                     transfer time.
  1278.  
  1279.                     This switch is optional.
  1280.  
  1281.  
  1282.          -p         Defines the port number.  MPModem can operate from
  1283.          -P         ports 1 to 8. You must specify the port number  (1
  1284.                     to 8) directly after the switch,
  1285.  
  1286.                     eg. -p1 will make MPModem  run from Port 1 of your
  1287.                     machine.
  1288.  
  1289.                     This  switch MAY  be  optional.  If you  have used
  1290.                     MpConfig to set the  port number, then this switch
  1291.                     will be  overridden. If you have  not set the port
  1292.                     number in  MpConfig, then you  MUST specify it  on
  1293.                     the command line.
  1294.  
  1295. MPModem v1.60  Copyright (C) M. Jose                                 Page 28
  1296.  
  1297.  
  1298.          -r         Causes  MPModem  to go into receive mode.  You may
  1299.          -R         specify 5 individual protocols to use:
  1300.  
  1301.                           -rx     Receive Xmodem (128 byte packets)
  1302.                           -ry     Receive Ymodem
  1303.                           -rz     Receive Zmodem
  1304.                           -rg     Receive Ymodem-G
  1305.                           -rk     Receive Xmodem (1024 byte packets)
  1306.  
  1307.                     You MUST specify at least one of these commands on
  1308.                     any command line if you are receiving files.
  1309.  
  1310.  
  1311.          -s         Causes  MPModem  to  go  into  send  mode. You may
  1312.          -S         specify 5 individual protocols to use:
  1313.  
  1314.                           -rx     Send Xmodem (128 byte packets)
  1315.                           -ry     Send Ymodem
  1316.                           -rz     Send Zmodem
  1317.                           -rg     Send Ymodem-G
  1318.                           -rk     Send Xmodem (1024 byte packets)
  1319.  
  1320.                     You MUST specify at least one of these commands on
  1321.                     any command line if you are sending files.
  1322.  
  1323.  
  1324.  
  1325.          -t         This switch is used mainly used by BBS  operators.
  1326.          -T         It enables sysops to see what time is left for the
  1327.                     user while running MPModem.  It also enables users
  1328.                     to keep track of the total transfer time over more
  1329.                     than one transfer.
  1330.  
  1331.                     This switch is optional.
  1332.  
  1333.  
  1334.          -u         Use this switch ONLY  when you are running MPModem
  1335.          -U         from  a  BBS.  Follow  this  switch  with whatever
  1336.                     option your BBS has  for putting the Usernumber on
  1337.                     the  command  line  of  an  external protocol. For
  1338.                     example, RemoteAccess  allows you to  put a user's
  1339.                     number  on  the  command   line  by  entering  the
  1340.                     following:
  1341.  
  1342.                               -U*R
  1343.  
  1344.                     Thus MPModem can use this information to report on
  1345.                     any suspicious activity by the user.
  1346.  
  1347.                     This switch is optional.
  1348.  
  1349. MPModem v1.60  Copyright (C) M. Jose                                 Page 29
  1350.  
  1351.          -v         This switch enables  users to specify respectively
  1352.          -V         the user's  name or the  system they are  attached
  1353.                     to. If you want to use the entire name (first name
  1354.                     and full  name) then you  must join the  two names
  1355.                     with an underscore (_).
  1356.  
  1357.                     For example, running  RemoteAccess you may specify
  1358.                     it as:
  1359.                        -v*F_*L
  1360.  
  1361.                     which  will join  the user's  first name  with his
  1362.                     last name by an underscore.
  1363.  
  1364.                     This switch is optional.
  1365.  
  1366.  
  1367.          -w         Sound  a "warble"  when  the  program has finished
  1368.          -W         its  transfers.
  1369.  
  1370.                     This  switch  is  optional  and  dependant  on the
  1371.                     above.
  1372.  
  1373.          -x         Put Zmodem  into command mode. This  switch can be
  1374.          -X         invoked on  its own or with  the further parameter
  1375.                     of  "W" or  "w" which  will cause  the receiver to
  1376.                     quit and  then execute the  command. If you  don't
  1377.                     specify "W"  or "w" then  the receiver/sender will
  1378.                     execute the  command just like  a shell. When  the
  1379.                     command  is finished,  control will  return to the
  1380.                     receiver/sender.
  1381.  
  1382.                     To  enable  this  command  you  must  have set the
  1383.                     option    of    "Allow     remote    to    execute
  1384.                     programs/commands?"  in the  configuration program
  1385.                     under the option "File  Transfer Options" to Y. If
  1386.                     you have NOT set this  and the remote sender tries
  1387.                     to send you a command then it will be rejected and
  1388.                     a message reported (for security reasons mainly).
  1389.  
  1390.                     For  more  information,  see  the  section  called
  1391.                     "Executing commands with Zmodem".
  1392.  
  1393.                     NOTE: This command only works when you specify the
  1394.                           transfer type as Zmodem (-rz or -sz).
  1395.  
  1396.  
  1397.          -y         Put Zmodem into resume  mode by force.  If you have
  1398.          -Y         not specified that you ALWAYS want Zmodem to try to
  1399.                     resume   a  transfer   (this  is   done  via   the
  1400.                     configuration program) then specifying this switch
  1401.                     will allow you to resume files for the duration of
  1402.                     this  session only.  This switch  is preferable to
  1403.                     the option  in the configuration  file because the
  1404.                     configuration file option will ALWAYS force Zmodem
  1405.                     to resume, even when you may not want it to.
  1406.  
  1407.                     This switch is optional.
  1408.  
  1409. MPModem v1.60  Copyright (C) M. Jose                                 Page 30
  1410.  
  1411.  
  1412.   4.0.1  BBS Users
  1413.   ----------------
  1414.  
  1415.    If you  are a BBS operator,  then the screen will  differ from what
  1416.    "Normal"  users will  see. At  the very  bottom of  the screen will
  1417.    appear a rectangle which will display the following information:
  1418.  
  1419.        User                                   BBS User
  1420.        ---------------------------------------------------------------
  1421.        BBS Name connected to.                 Current online user.
  1422.        Baud rate (Connect rate)               Baud rate (Connect rate)
  1423.        Time online so far                     Time remaining
  1424.  
  1425.  
  1426.    User
  1427.    ~~~~
  1428.      If you can  pass to the program from  your calling communications
  1429.      program   like   Telemate,   Procomm   or   Telix  the  following
  1430.      information, then it will appear on the screen:
  1431.  
  1432.             -vBBSName
  1433.             -tTimeOnline
  1434.      "BBSName"  is the  name of   the BBS  you are  currently calling.
  1435.      "TimeOnline" is the current amount of time you have been online.
  1436.  
  1437.      This information is ideal for allowing you to keep accurate track
  1438.      of where  you are logged in  and how much time  you have spent on
  1439.      that board.
  1440.  
  1441.      Telix is able to pass (via a script - an example is enclosed) the
  1442.      name of the  system you are connected to but  not the time. It is
  1443.      therefore necessary to pass a value of 0, as in "-t0".
  1444.  
  1445.      The time value MUST be given in minutes, not seconds or hours.
  1446.  
  1447.      Other  communication program  may be  able to  do this  and if so
  1448.      good, but Telix is my program of choice so I have not had time to
  1449.      experiment. If  you write a script,  then email it to  me. DO NOT
  1450.      INCLUDE IT IN THE BUNDLE OF SOFTWARE CONTAINING MY PROGRAMS!
  1451.  
  1452.      Telemate (v3.10) allows you to  create scripts but does not allow
  1453.      you to link these scripts  to the receive/send menu. Consequently
  1454.      you can only use batch files to execute additional protocols.
  1455.  
  1456.      You can,  however, directly execute  the scripts (.SCR)  included
  1457.      with  this package  by typing  ALT-S and  selecting the  relevant
  1458.      script.
  1459.  
  1460. MPModem v1.60  Copyright (C) M. Jose                                 Page 31
  1461.  
  1462.  
  1463.  
  1464.    BBS User
  1465.    ~~~~~~~~
  1466.      To aid  in the better  monitoring of who  is using your  Board, I
  1467.      have included the additional status  line. This line will display
  1468.      the current  user online, the baud  rate he connected at  and the
  1469.      time remaining (in minutes).
  1470.  
  1471.      This should greatly assist BBS operators.
  1472.  
  1473. MPModem v1.60  Copyright (C) M. Jose                                 Page 32
  1474.  
  1475.  
  1476.   5.0  File Formats
  1477.   -----------------
  1478.  
  1479.   5.0.1  Input File
  1480.   -----------------
  1481.  
  1482.    The format of  the input file is quite simple.  It must be in ASCII
  1483.    and each line must be less than 80 characters in length.
  1484.  
  1485.    A line is just plain text with a CR/LF combination at the end.
  1486.  
  1487.    An example of what an input file would look like is detailed below:
  1488.  
  1489.        c:\programs\hold\pibterm3.lzh
  1490.        mpmodem.exe
  1491.        c:\games\canasta.lzh
  1492.  
  1493.    There is  no limit to  how many  files  can appear in  the file, it
  1494.    really only depends  on how long you have to  send all the files to
  1495.    the remote end.
  1496.  
  1497.  
  1498.  
  1499.   5.0.2  Log file format
  1500.   ----------------------
  1501.  
  1502.    The log file is made up of pure ASCII (decimal 32 to 127 inclusive)
  1503.    and thus can be read by any  program or editor. The following is an
  1504.    example of the MPMODEM.LOG file:
  1505.  
  1506.          21-12-91  00:36:38  Zmodem Download
  1507.          21-12-91  00:36:38  Remote filename: Planets Movie.cpt
  1508.          21-12-91  00:54:59  Received: Planets_.cpt
  1509.          21-12-91  00:54:59  Bytes: 207534
  1510.          21-12-91  00:54:59  CPS: 1780
  1511.          21-12-91  01:01:20  Zmodem Upload
  1512.          21-12-91  01:03:24  Transmitted: QUICKTME.CPT
  1513.          21-12-91  01:03:24  Bytes: 765010
  1514.          21-12-91  01:03:24  CPS: 1970
  1515.  
  1516.    Each line of  the log file begins with the  date in DD-MM-YY format
  1517.    (there are no spaces before the date). Next follows two spaces then
  1518.    the  time in  the format  of HH:MM:SS  in 24  hour notation so that
  1519.    22:10:12  is  10:10:12pm.  A  further  two  spaces  follow and then
  1520.    appears the  type of download  or upload, either  "Transmitted:" or
  1521.    "Received:" , the number of bytes received and the CPS rate.
  1522.  
  1523. MPModem v1.60  Copyright (C) M. Jose                                 Page 33
  1524.  
  1525.  
  1526.   5.0.3  Report file format
  1527.   -------------------------
  1528.  
  1529.    The report file  is a pure ASCII file similar  in appearance to the
  1530.    standard MPModem log file called "MPMODEM.LOG".
  1531.  
  1532.  
  1533.    The  following is  an example  of what  part of  this file may look
  1534.    like:
  1535.  
  1536.      21-12-91  00:36:38  25 has received all of file MPMODEM.EXE
  1537.      21-12-91  00:36:38  25 has asked me to execute commands
  1538.  
  1539.    The  "25" above  refers to  the  user's  number, and  will only  be
  1540.    displayed if you specify "-u" or  "-U" on the command line followed
  1541.    by the BBS's code for a user number (see "-u" switch).
  1542.  
  1543.    The report file  is used to report on  strange occurrences during a
  1544.    file transfer. Some  users have been known to  abort the receipt of
  1545.    files just after the last bytes  have been received and just before
  1546.    the End Of File packet has been sent. This then makes the BBS think
  1547.    that the file was not sent  and thus this user's download amount is
  1548.    not  adjusted. So,  if a  Sysop browses  through this  file he will
  1549.    immediately ascertain  which users should be  barred from using the
  1550.    file system or whatever.
  1551.  
  1552.  
  1553. MPModem v1.60  Copyright (C) M. Jose                                 Page 34
  1554.  
  1555.   6.0  Future Enhancements
  1556.   ------------------------
  1557.  
  1558.    MPModem is by no means complete  and will be continually updated to
  1559.    ensure  users  are  able  to  use  the  most  modern aspects of the
  1560.    protocols that make up the MPModem product.
  1561.  
  1562.    Don't expect  the updates to be  thick and fast -  as the old adage
  1563.    goes -  you get what  you pay for.  As you paid  nothing, expect no
  1564.    more...
  1565.  
  1566.    If you have general problems with  the program I would be more than
  1567.    pleased to know about them.
  1568.  
  1569.  
  1570. MPModem v1.60  Copyright (C) M. Jose                                 Page 35
  1571.  
  1572.   7.0  Messages
  1573.   -------------
  1574.  
  1575.  
  1576.   7.0.1  System Messages
  1577.   ----------------------
  1578.  
  1579.  
  1580.    Detailed below  are all the  major system messages  that occur when
  1581.    using the MPModem product. Some are general messages or notices but
  1582.    most are error messages.
  1583.  
  1584.  
  1585.  
  1586.    Bad data CRC.
  1587.  
  1588.         While receiving data in either CRC  16 or 32 bit mode, MPModem
  1589.         the final CRC checking values did not agree with those sent by
  1590.         the sender.  This can indicate  two things, a  very noisy line
  1591.         which  is continually  subjected to  noise bursts  or a  badly
  1592.         designed sending program which may be experiencing transmitter
  1593.         overruns.
  1594.  
  1595.         If the problem always persists  on the same connection, it may
  1596.         point to  a software error in  the sender's software otherwise
  1597.         it may just  be a bad exchange or  telephone line. Perhaps you
  1598.         should hang  up and call  back - after  all Zmodem can  resume
  1599.         transfers.
  1600.  
  1601.  
  1602.    Bad data subpacket.
  1603.  
  1604.         You  are experiencing  major problems  where data  is becoming
  1605.         grabled by either a lousy telecommunications line. Try hanging
  1606.         up and  calling again. Maybe  even cleans the  contacts on the
  1607.         telephone  socket and  plug -  it sometimes  help. (Use  a 600
  1608.         grade sandpaper or better still Emery paper).
  1609.  
  1610.  
  1611.    Bad position.
  1612.  
  1613.         The current packet  (just received) is not the  next packet we
  1614.         wanted to  receive so we  will tell the  remote and he  SHOULD
  1615.         send  us the  correct packet.  Too many  of these  errors will
  1616.         result  in  the  "Too  much   garbage.  I  give  up!"  message
  1617.         appearing. See that error message for more details.
  1618.  
  1619.  
  1620.    Break detected - receiver interrupted.
  1621.  
  1622.         The communication routine has detected  a break signal sent by
  1623.         the remote (the sender) to you (the receiver). This will cause
  1624.         the  protocol  to  lose  some  characters.  The  communication
  1625.         routine will wait for the next byte to arrive correctly.
  1626.  
  1627. MPModem v1.60  Copyright (C) M. Jose                                 Page 36
  1628.  
  1629.  
  1630.    Cannot resume transfer - entire file already received.
  1631.  
  1632.         Zmodem has been instructed to try to resume a transfer (either
  1633.         by  the -Y  switch on  the command  line or  as defined in the
  1634.         Configuration  program  (See  section  3.1.1,  "File  Transfer
  1635.         Options Screen") but cannot do so  because the file to be sent
  1636.         is the same size as the one we already have. In this instance,
  1637.         we have had  to reject the file.
  1638.         If the file  is not the same, then turn  off resume (either do
  1639.         not specify  "-y" on the  command line or  set the appropriate
  1640.         question  in section  3.1.1 to  'N'). This  will make  MPModem
  1641.         create a unqiue filename.
  1642.  
  1643.    Carrier Lost.
  1644.  
  1645.         If  you have  set MPModem  to watch  for carrier dropouts then
  1646.         when such  an event occurs, MPModem  will report this message.
  1647.         Note that if you are direct connecting it would be wise to not
  1648.         monitor the carrier signal and thus avoid a possible problem.
  1649.  
  1650.  
  1651.    Command file missing. Read the manual.
  1652.  
  1653.         You have  invoked MPModem with  the "-x" switch  (you may have
  1654.         also  invoked it  as "-xw")  and MPModem  expects to  find the
  1655.         command you  wish the receiver  to execute in  the file called
  1656.         "MPMODEM.CMD". This  file should be  in the same  directory as
  1657.         your MPMODEM.EXE, and MPMODEM.CFG file. If it isn't there then
  1658.         MPModem  will not  find it.  Simply relocate  it to  there and
  1659.         re-run MPModem.
  1660.  
  1661.         Please refer  to section 10, "Executing  commands with Zmodem"
  1662.         for full details of how to go about sending commands.
  1663.  
  1664.  
  1665.    Command successfully sent to receiver.
  1666.  
  1667.         A command sequence located in  the "MPMODEM.CMD" file has been
  1668.         loaded and sent to the  receiver successfully. If the receiver
  1669.         can handle the command, it should execute it and finish.
  1670.  
  1671.  
  1672.    Data overrun. System load too high.
  1673.  
  1674.         The  system has  been unable  to act  quick enough  to take an
  1675.         assembled byte from the UART  (8250,16450 or 16550 type chips)
  1676.         prior to the next byte having been received and assembled.
  1677.  
  1678.         This  can be  caused by  a broken  (incorrectly coded) receive
  1679.         routine but  is more likely  the result of  too high a  system
  1680.         load -  especially when you are  multi-tasking. After all, DOS
  1681.         is not a  multi-tasker and the manipulation that  has to go on
  1682.         to simulate this is a credit to the writers of this code.
  1683. MPModem v1.60  Copyright (C) M. Jose                                 Page 37
  1684.  
  1685.  
  1686.    Data subpacket too long.
  1687.  
  1688.         Too much data  has been received for this  packet. Again, this
  1689.         points  to a  noisy line  or faulty  contacts. Perhaps someone
  1690.         just picked  up the other  extension and interfered  with your
  1691.         call. Yell at them if that's the case!
  1692.  
  1693.  
  1694.    Data TIMEOUT.
  1695.  
  1696.         While  receiving data  from the  sender, MPModem  got tired of
  1697.         waiting.  This can  point to  a slow  remote system  or a lazy
  1698.         network. Firstly  investigate the possibility  that the remote
  1699.         is slow  before pointing your finger  at the remote's network;
  1700.         It's harder to diagnose!
  1701.  
  1702.  
  1703.    Error reading the configuration file!.
  1704.  
  1705.         The configuration file is either corrupt, old or for a version
  1706.         of MpModem other than the one it was intended for.
  1707.  
  1708.         You  are   best  to  delete  the   configuration  file  called
  1709.         MPModem.Cfg and run MPConfig.Exe to create a new configuration
  1710.         file.
  1711.  
  1712.    Error: Carrier Lost.
  1713.  
  1714.         Zmodem has  encountered a loss  of carrier. This  message will
  1715.         only appear  when you specify  the "-c" switch  on the command
  1716.         line.
  1717.  
  1718.  
  1719.    Error: Garbage in header.
  1720.  
  1721.         See "Garbage count exceeded (Header)".
  1722.  
  1723.  
  1724.  
  1725.    Error: Received a garbled packet.
  1726.  
  1727.         Zmodem  has received  a data  packet (part  of the actual file
  1728.         transfer)  that is  garbage. It  will discard  this packet  as
  1729.         corrupt.
  1730.  
  1731.  
  1732.    Error: Receiving ZCOMPL.
  1733.  
  1734.         Zmodem  has continually  received ZCOMPL  (Zmodem has finished
  1735.         the file transfer)  out of sequence. It may  indicate that the
  1736.         remote is not ready for the files.
  1737.  
  1738. MPModem v1.60  Copyright (C) M. Jose                                 Page 38
  1739.  
  1740.  
  1741.    Error: Remote Cancelled!
  1742.  
  1743.         Zmodem has received a cancel sequence by the remote and is now
  1744.         also ending the file transfer.
  1745.  
  1746.  
  1747.    Error: Strange characters received!
  1748.  
  1749.         Zmodem has encountered some irrecoverable error or errors when
  1750.         receiving a  file. The transfer is  obviously becoming far too
  1751.         "mutilated" by the telephone or network system.
  1752.  
  1753.  
  1754.    Error: Timeout.
  1755.  
  1756.         A  timeout has  been received.  Please see  "Timeout" for more
  1757.         details.
  1758.  
  1759.  
  1760.  
  1761.    Error:  Too many CRC errors!
  1762.  
  1763.         While Zmodem is receiving the file it has encountered too many
  1764.         CRC  errors  to  be  considered  safe  to  continue  the  file
  1765.         transfer. If this  continues to occur then email  me and I may
  1766.         put a switch in so that you can specify the number of times it
  1767.         will allow for CRC errors  during the file transfer. Currently
  1768.         it is about 15.
  1769.  
  1770.  
  1771.    Error: Too much garbage. I give up!
  1772.  
  1773.         Zmodem  has given  up trying  to receive  the file  because it
  1774.         keeps receiving data packets with a different file position to
  1775.         that of the current file  position. This may indicate that the
  1776.         sender is no longer receiving information.
  1777.  
  1778.  
  1779.    Error: Trying for ZCMD.
  1780.  
  1781.         Zmodem has given up trying to  respond to the request for some
  1782.         action  (command)  to  be  taken  by  the remote program. This
  1783.         version  of  Zmodem  can  execute  a  command (such as another
  1784.         program) and  then return back to  Zmodem or it can  execute a
  1785.         program that replaces Zmodem in memory. While trying to do one
  1786.         of  these  things,  no  response  was  received  by the remote
  1787.         program.
  1788.  
  1789.  
  1790.    Error: Trying for ZFILE.
  1791.  
  1792.         Zmodem has given up trying to  receive the file header. End of
  1793.         story and end  of transfer. It is possible  the remote end has
  1794.         dropped out or has failed to load their Zmodem program.
  1795. MPModem v1.60  Copyright (C) M. Jose                                 Page 39
  1796.  
  1797.  
  1798.    Error: Trying for ZSINIT.
  1799.  
  1800.         Zmodem has given up trying  to send an initialisation sequence
  1801.         to  the remote  program. It   is possible  the remote  end has
  1802.         dropped out or has failed to load their Zmodem program.
  1803.  
  1804.  
  1805.    Existing file cannot be overwritten.
  1806.  
  1807.         This indicates  that the sending  program is trying  to send a
  1808.         file  that is  on your  system as  either Read-Only, Hidden or
  1809.         System.  This  could  indicate  that  the  remote is trying to
  1810.         upload  a copy  of the  the  system  files or  other types  of
  1811.         protected file. If  it is one of the  system files, then maybe
  1812.         it was an attempt at sabotage!?!
  1813.  
  1814.         At  any rate,  the attempt  has failed  and that  file will be
  1815.         skipped.
  1816.  
  1817.  
  1818.    FIFO buffer error. One or more bytes garbled.
  1819.  
  1820.         You have  the FIFO buffer enabled  and since the last  read of
  1821.         the  buffer 1  or more  of the  bytes in  the buffer  has been
  1822.         received  in  error.  For  more  information,  see  the  notes
  1823.         relating to the following error messages:
  1824.  
  1825.            Break detected - receiver interrupted.
  1826.            Framing error. Stop bit wrong.
  1827.            Parity error. Wrong bit sequence.
  1828.            Data overrun. System load too high.
  1829.  
  1830.  
  1831.    File positioning error.
  1832.  
  1833.         While  trying to  move the  disk pointer  to another  location
  1834.         within the file, an error was encountered and consequently the
  1835.         program could not reposition within  a file. Generally this is
  1836.         a SERIOUS  error as it indicates  a problem in either  the FAT
  1837.         tables  or a  problem with  the actual  media (hard  or floppy
  1838.         disk).
  1839.  
  1840.  
  1841.    File transfer failed.
  1842.  
  1843.         Because of  some reason the  file transfer has  failed. If you
  1844.         are concerned that file transfers are continually failing then
  1845.         read the documentation again and perhaps watch the transfer to
  1846.         see just  what type of  error messages appear  during the file
  1847.         transfer.
  1848.  
  1849. MPModem v1.60  Copyright (C) M. Jose                                 Page 40
  1850.  
  1851.  
  1852.    Framing error. Stop bit wrong.
  1853.  
  1854.         For  some  reason  the  stop  bit  count  was  either wrong or
  1855.         missing. This can be caused by  many things but one thing I am
  1856.         aware of  is when running in  multi-tasking, you inadvertantly
  1857.         run another program which uses the SAME communications port.
  1858.  
  1859.         If  you get  this error   consistently, then  you may  wish to
  1860.         contact your modem supplier.
  1861.  
  1862.  
  1863.    Garbage count exceeded (Header).
  1864.  
  1865.         While  trying   to  receive  a   header  packet,  Zmodem   has
  1866.         encountered too many errors. These  errors are possibly due to
  1867.         a noisy  line or indeed could  be caused by a  faulty modem or
  1868.         modem  cable. Check  that no  earthing is  occurring with  the
  1869.         cable.
  1870.  
  1871.  
  1872.    Got bad Zmodem escape sequence.
  1873.  
  1874.         Zmodem "escapes"  certain codes so  that they aren't  confused
  1875.         with other possible codes  like XON/XOFF software flow control
  1876.         bytes.  If  Zmodem  encounters  a  bad  "escape sequence" that
  1877.         doesn't make  sense to it,  it will produce  this error. Again
  1878.         this points more to a  noisy or ineffective line than anything
  1879.         else.
  1880.  
  1881.  
  1882.    Interruption detected!  Trouble?
  1883.  
  1884.         Zmodem  has  received  an  interruption  (some  bytes from the
  1885.         remote  - possibly  a Cancel  or Reposition  command) and will
  1886.         attempt to rectify the problem.
  1887.  
  1888.         This problem can be  caused by improperly designed transmitter
  1889.         hardware or software and can point to transmitter overruns. If
  1890.         this continually occurs  then contact me via email  and I will
  1891.         endeavour to help  you. Please site the type  of chip you have
  1892.         (8250, 16450 or 16550) and any details you may have.
  1893.  
  1894.  
  1895.    Invalid block number. (?? tries)
  1896.  
  1897.         Xmodem, Xmodem-1k,  Ymodem, Ymodem-G has  continually tried to
  1898.         receive the next block number but each time it is invalid. The
  1899.         "??"  is replaced  by the  number of  attempts the program has
  1900.         made to try to obtain the correct block.
  1901.  
  1902. MPModem v1.60  Copyright (C) M. Jose                                 Page 41
  1903.  
  1904.    Invalid chksum/crc.  (?? tries)
  1905.  
  1906.         Xmodem,  Xmodem-1k, Ymodem,  Ymodem-G has  received an invalid
  1907.         checksum or CRC  value. The "??" is replaced  by the number of
  1908.         times we have received this invalid checksum or CRC value.
  1909.  
  1910.         If you  are running Xmodem with  checksum, you should consider
  1911.         changing/forcing the remote to  run under CRC because checksum
  1912.         checking of  a packet WILL NOT  catch all errors and  thus you
  1913.         could end up receiving a file that is corrupted!
  1914.  
  1915.  
  1916.    Invalid Binary Header CRC.
  1917.  
  1918.         This  means that  a corruption  has occurred  when receiving a
  1919.         header record  in Zmodem. Generally it  indicates a poor line.
  1920.         If it  persists it could point  to bad software design  by the
  1921.         remote sending program.
  1922.  
  1923.  
  1924.    Invalid header received. (?? tries)
  1925.  
  1926.         Xmodem, Xmodem-1k,  Ymodem, Ymodem-G has  continually tried to
  1927.         receive  a  header  from  the   remote  sender.  The  "??"  is
  1928.         substituted with the number of tries so far.
  1929.  
  1930.         Hang up and try again if it persists.
  1931.  
  1932.  
  1933.    Invalid Hex Header CRC
  1934.  
  1935.         The  hex  header  (used  when  initiating  file transfers) has
  1936.         encountered a  CRC error in  the header. This  is due to  line
  1937.         noise corrupting  the individual bits  in a file  transfer. If
  1938.         you encounter  too many of these  errors you would be  wise to
  1939.         hang up or abort the transfer and start again.
  1940.  
  1941.  
  1942.    Invalid response (??)
  1943.  
  1944.         When the  sender (Xmodem, Xmodem-1k and  Ymodem) have finished
  1945.         sending  a  block  of  information,  they  expect to receive a
  1946.         certain  character from  the receiver  telling them  what they
  1947.         should  do next.  When this  message is  returned it indicates
  1948.         that the  program has recieved an  invalid character. When the
  1949.         message  is   displayed,  the  "??"   is  replaced  with   the
  1950.         hexadecimal value of the character received.
  1951.  
  1952.         It means that some spurious character has been received. If it
  1953.         continues, the program will eventually abort.
  1954.  
  1955.  
  1956.    Local abort.
  1957.  
  1958.         You have pressed the <Ctrl>-<Break> (System break) keys.
  1959.  
  1960. MPModem v1.60  Copyright (C) M. Jose                                 Page 42
  1961.  
  1962.  
  1963.    MPMODEM.CFG is an old version (??.??). The version should be ??.??.
  1964.  
  1965.         The version  of MPModem.cfg is not  the right version required
  1966.         by this  release of MPModem.  You have two  courses of action.
  1967.         You can run the "cfg-conv" program to update the configuration
  1968.         file. If this fails to work (quite  likely if it is a very old
  1969.         configuration  file), then  you will  havbe to  delete it, run
  1970.         MPConfig.Exe, re-set  your various options and  save the file.
  1971.         You will then be ready to run MPModem.
  1972.  
  1973.  
  1974.    No files to send!
  1975.  
  1976.         When you specify a filename,  (can be wildcards like fred*.*),
  1977.         and  the  program  fails  to  find  any  files  matching  this
  1978.         description, it will  announce that it has "no  files to send"
  1979.         and will stop the transfer at this point.
  1980.  
  1981.  
  1982.    Not enough memory to create command buffers. (????).
  1983.  
  1984.         There is simply  not enough memory left to  create the buffers
  1985.         which have a total length equal  to the figure in brackets. (I
  1986.         have placed question marks in the above message).
  1987.  
  1988.         Try  freeing up  some memory  some how.  You should  only need
  1989.         about 2k to be safe.
  1990.  
  1991.  
  1992.    Parity error. Wrong bit sequence.
  1993.  
  1994.         The wrong parity bit has been received or in other words it is
  1995.         inconsistent with the default setting of N or No parity.
  1996.  
  1997.         This   could   indicate   a   problem   in   the   other  ends
  1998.         software/hardware sending  in the wrong mode  or it could mean
  1999.         your modem is playing up.
  2000.  
  2001.  
  2002.    Receiver has entered command mode.
  2003.  
  2004.         This is  the last entry  made in the  log before the  shell is
  2005.         executed. The shell (called  SH.EXE) will execute the commands
  2006.         sent by the remote (sender) Zmodem.
  2007.  
  2008.  
  2009.    Remote cancelled!
  2010.  
  2011.         The remote  sender or receiver  has aborted or  escaped out of
  2012.         the protocol and has told us to stop sending or receiving. Any
  2013.         file  currently being  transferred  is  close and  the program
  2014.         ends.
  2015.  
  2016. MPModem v1.60  Copyright (C) M. Jose                                 Page 43
  2017.  
  2018.  
  2019.    Remote filename:  ??????????
  2020.  
  2021.         (This is NOT an ERROR message but rather a WARNING/NOTICE message).
  2022.  
  2023.         When you use the "-m" switch, MPModem will display the file it
  2024.         received from the remote prior to amending it so that it would
  2025.         fit within the parameters of a  DOS file. For example, you may
  2026.         be receiving a file from a Macintosh system called:
  2027.  
  2028.                            Some Macpaint Pics.cpt
  2029.  
  2030.         MPModem  will   convert  this  filename  and   display  it  as
  2031.         "Some_Mac.cpt".  MPModem  will  then  display  (as  a notice):
  2032.               "Remote filename: Some Macpaint Pics.cpt"
  2033.  
  2034.  
  2035.  
  2036.    Remote refused file!
  2037.  
  2038.         Zmodem tried to send a file  to the remote but for some reason
  2039.         the file was rejected. Zmodem  will endeavour to send the next
  2040.         file (if there is one) or  else it will finish the transfer at
  2041.         this point.
  2042.  
  2043.         The most  probable reason is  that the remote  already has the
  2044.         file or the  file you are trying to send  exists on the remote
  2045.         as a hidden, system or read-only file or even as a directory.
  2046.  
  2047.  
  2048.    Repositioning.
  2049.  
  2050.         This  tells  you  that  the  protocol  is  undergoing an error
  2051.         recovery by stepping backwards into  the file to replace data,
  2052.         already sent and found corrupt, with the correct data.
  2053.  
  2054.         In X/Ymodem this  involves going backwards in the  file by the
  2055.         amount of the  current blocksize (128 or 1024  bytes) and with
  2056.         Zmodem it can mean going back to anywhere in the file.
  2057.  
  2058.         The position of where the  program is re-starting the transfer
  2059.         from is displayed to the left of this message.
  2060.  
  2061.  
  2062.    Request to escape control characters rejected.
  2063.  
  2064.         This can occur in both send and receive mode. What it means is
  2065.         that you have  tried to start a Zmodem  session with both Fast
  2066.         and   Escape   Control   Character   mode   enabled   (or  the
  2067.         sender/receiver  has  requested  it   when  you  want  a  Fast
  2068.         transmission).  Basically the  two cannot  combine. Fast  mode
  2069.         skips  all  escape  encoding   (other  than  Zmodem's  special
  2070.         character) whereas Escape Control Characters wants all control
  2071.         characters escaped. See the dilemma?
  2072.  
  2073. MPModem v1.60  Copyright (C) M. Jose                                 Page 44
  2074.  
  2075.  
  2076.    Requested COM?. This program only supports COM1: to COM8:.
  2077.  
  2078.         If you got this error  message then you obviously specified an
  2079.         incorrect port number; or did you?
  2080.  
  2081.         If you used the command  line switch "-p" followed immediately
  2082.         (that is without a space after the "-p" such as "-p1" for port
  2083.         1), then  you must reenter  the command line  with the correct
  2084.         port number.
  2085.  
  2086.         You  may, however,  have not  specified a  port number  on the
  2087.         command line. This  is fine if you have  "hard-coded" the port
  2088.         number you use in the configuration  file, but if that also is
  2089.         blank then this message will  be generated. Either specify the
  2090.         port number on the command line  via the "-P" switch or set it
  2091.         in the configuration program.
  2092.  
  2093.  
  2094.    Sender has entered command mode.
  2095.  
  2096.         At this stage the sender is  trying to get the receiver to act
  2097.         upon the commands it is  now sending. Depending on whether the
  2098.         receiver  allows commands,  the command  sequence will  either
  2099.         complete successfully or be aborted by the receiver.
  2100.  
  2101.  
  2102.    Sender's commands rejected.
  2103.  
  2104.         The Sending side of Zmodem has  tried to get us (the receiver)
  2105.         to execute commands. Because you have not allowed this via the
  2106.         configuration program MPCONFIG.EXE, the command is ignored and
  2107.         the transfer completed.
  2108.  
  2109.  
  2110.    Sending data header.
  2111.  
  2112.         This is not  an error message but rather  it indicates that we
  2113.         are about to start sending the file.
  2114.  
  2115.  
  2116.    Sending EOF.
  2117.  
  2118.         Zmodem  is trying  to tell  the receiver  that it has finished
  2119.         sending the file  and that it will shortly  be sending another
  2120.         file (if there is one more to be sent).
  2121.  
  2122.  
  2123.    Sending file.
  2124.  
  2125.         Zmodem is in the process of sending a file.
  2126.  
  2127.  
  2128.    Sending ZRQINIT.
  2129.  
  2130.         This indicates  that Zmodem sending  routine is trying  to get
  2131.         the transfer started by sending  the prompt to the receiver to
  2132.         make it start up.
  2133. MPModem v1.60  Copyright (C) M. Jose                                 Page 45
  2134.  
  2135.  
  2136.    Serialisation error returned 0X??.
  2137.  
  2138.        This  means that  a combination  of serial  errors was received
  2139.        possibly  indicating a  dead or  near-dead UART  chip. To first
  2140.        eliminate  a software  problem, please  record the  hexadecimal
  2141.        number (which will be in place of the "??" above) and advise me
  2142.        by email (if possible).
  2143.  
  2144.  
  2145.    Setting start position
  2146.  
  2147.         This indicates  what position within the  file the sender will
  2148.         be starting the file transfer from. Generally it is 0, meaning
  2149.         the start of the file but when the receiver wants us to resume
  2150.         a file  transfer it will  indicate some other  position within
  2151.         the file.
  2152.  
  2153.         This is not an error message.
  2154.  
  2155.  
  2156.  
  2157.    TIMED OUT!!!!!!!!!
  2158.  
  2159.         An  Xmodem, Xmodem-1k,  Ymodem or  Ymodem-G file  transfer has
  2160.         aborted  because it  has waited   too long  to either  send or
  2161.         receive  a file.  This can  be caused  by either  end becoming
  2162.         stuck  because  it  missed  the  XON  character after the XOFF
  2163.         character had been received.
  2164.  
  2165.         If this  occurs often enough,  please contact me  at my E-mail
  2166.         address.
  2167.  
  2168.  
  2169.    Timed out waiting for entire buffer to clear.
  2170.  
  2171.         Zmodem  has  timed  out  while  trying  to  clear  the current
  2172.         transmit buffer. This points to a serious error in your system
  2173.         setup  or  the  actual  8250,  16450  or  16550  chip. Try the
  2174.         transfer  using  a  different  protocol  and  if the situation
  2175.         persists then have the chip replaced.
  2176.  
  2177.         If you believe it is this  program's fault then please send me
  2178.         a message via E-mail.
  2179.  
  2180.  
  2181.    Timeout.
  2182.  
  2183.         Either  the receiver  or transmitter  routines have  timed out
  2184.         while waiting  to receive or  send data. This  generally means
  2185.         that  the other  end has  been delayed  (maybe it  is a slower
  2186.         machine than yours) or that your machine is taking too long to
  2187.         handle the output of data.
  2188.  
  2189.         This  is not  a serious  problem but  can indicate  a loss  of
  2190.         carrier if the "-c" switch was  not used. Maybe you should try
  2191.         the "-t"  switch which will  create a time  out value more  in
  2192.         line with the Baud rate than the standard time out value.
  2193. MPModem v1.60  Copyright (C) M. Jose                                 Page 46
  2194.  
  2195.  
  2196.    Timeout (?? tries)
  2197.  
  2198.         Xmodem, Xmodem-1k, Ymodem, Ymodem-G has continually timed out.
  2199.         The "??" is substituted with the number of tries so far.
  2200.  
  2201.         It is  quite possible that  you have lost  connection with the
  2202.         other end.  If you have not  specified the "-c" switch  on the
  2203.         command line then it may be wise to do so in the future.
  2204.  
  2205.  
  2206.    Too many repositions!
  2207.  
  2208.         Zmodem has got sick of repositioning  to the same point in the
  2209.         file.  This generally  indicates there  is a  problem with the
  2210.         receiver receiving  our packets and may  indicate an extremely
  2211.         noisy line  or the fact  that Zmodem has  somehow got entirely
  2212.         out of sync.
  2213.  
  2214.  
  2215.    Unable to allocate enough memory for I/O Buffer! (??)
  2216.  
  2217.         MPModem  has  failed  to  obtain  enough  memory from the free
  2218.         memory pool and thus cannot run in the current environment.
  2219.  
  2220.         If  you  are  multi-tasking  then  increase  the allocation of
  2221.         memory for MPModem.  If you are not then  removing some of the
  2222.         TSRs will  help alleviate the  problem. If there  is still not
  2223.         enough room then  you may have to reduce the  size of any disk
  2224.         cacheing or BUFFERS.
  2225.  
  2226.  
  2227.    Unable to allocate memory (1k)
  2228.  
  2229.         The sending  routine of Zmodem could  not obtain enough memory
  2230.         from the free memory pool. All  it needs is a lousy 1024 bytes
  2231.         of   memory  so   please  adjust   your  memory   requirements
  2232.         accordingly.
  2233.  
  2234.  
  2235.    Unable to create a unique filename.
  2236.  
  2237.         When a file is received by  Ymodem, Ymodem-G or Zmodem and you
  2238.         do not  want files to be  resumed (Zmodem only), and  the file
  2239.         name  received is  the same  as an  existing one, then MPModem
  2240.         will endeavour to create a unique filename. Generally, it will
  2241.         replace the  last character in  the file extension  (if it has
  2242.         one) with the letter 1, or if  that fails 2 or if that fails 3
  2243.         and so on.
  2244.  
  2245.         For example, suppose we already  have a file called "test.txt"
  2246.         and  suddenly   Ymodem  says  it   has  another  file   called
  2247.         "test.txt". MPModem will  now check to see if  there is a file
  2248.         called "test.tx1". If not it will create such a file. If there
  2249.         is  then it  will create  a file  called "test.tx2"  and so on
  2250.         until it  gets to "text.999" before  it aborts! This situation
  2251.         should never happen.
  2252. MPModem v1.60  Copyright (C) M. Jose                                 Page 47
  2253.  
  2254.  
  2255.    Unable to open file.
  2256.  
  2257.         Well just as it says, MPModem  was unable to open the file. If
  2258.         you are  transmitting something, then  this can indicate  that
  2259.         the disk is bad, the file is  bad or it is just plain missing.
  2260.         Fix it  if possible. If  it's missing, then  perhaps you typed
  2261.         the name wrong?
  2262.  
  2263.         If you  are receiving a file  then it means you  either have a
  2264.         bad disk or you are receiving  a file from a remote site (like
  2265.         a  Macintosh  (tm)  System)  and  have  not specified the "-m"
  2266.         switch. Do so now and start again.
  2267.  
  2268.  
  2269.    Verifying CRC of file.
  2270.  
  2271.         In Zmodem, it  is possible for the remote  system to request a
  2272.         CRC  of the  file you  have just  received. It  is a  means of
  2273.         trying to ensure  correct reception of data not  just over the
  2274.         telecommunications line but also in the writing of the file to
  2275.         disk.    (NOT IMPLEMENTED)
  2276.  
  2277.  
  2278.    Waiting for receiver.
  2279.  
  2280.         Zmodem sending  routine is now  waiting for the  sender to get
  2281.         back in  synchronization with us. This  is a normal occurrence
  2282.         at the end of each file.
  2283.  
  2284.  
  2285.    Waiting to send file(s).
  2286.  
  2287.         The Zmodem send routine is now waiting (patiently I might add)
  2288.         for the receiver to give  it instructions on various important
  2289.         aspects  of  the  file  transfer.  Without these instructions,
  2290.         Zmodem cannot proceed.
  2291.  
  2292. MPModem v1.60  Copyright (C) M. Jose                                 Page 48
  2293.  
  2294.  
  2295.   7.0.2  Report File Messages
  2296.   ---------------------------
  2297.  
  2298.    Detailed below  are the various report  file (MPMODEM.RPT) messages
  2299.    that appear when you run this program from a BBS.
  2300.  
  2301.  
  2302.    <Usernumber> has received all of file <filename>
  2303.  
  2304.         This  tells  the  sysop  that  <Usernumber>  (A  user's system
  2305.         number) has  received all of  <filename>. Because MPModem  did
  2306.         not have time to close off  and do all necessary file handling
  2307.         the user has  essentially got the file for  nothing. The Sysop
  2308.         may  want  to  note  the  users  that  continually  have  this
  2309.         "problem" because  they may be  experiencing real problems  or
  2310.         they may have a "re-coded" version of Zmodem allowing them to
  2311.         grab files for "free".
  2312.  
  2313.  
  2314.    Unable to create unique filename. File: <filename>
  2315.  
  2316.         MPModem tried  to create a unique  filename for <filename> but
  2317.         failed. This  either indicates disk/storage  media problems or
  2318.         you may  already have upto  999 connotations of  the filename.
  2319.         The latter is highly unlikely as you would have to have:
  2320.  
  2321.            (assuming the filename is "FRED.CPT")
  2322.  
  2323.            FRED.CP1
  2324.            FRED.CP2
  2325.              .
  2326.              .
  2327.              .
  2328.            FRED.999
  2329.  
  2330.         This means that you would have to have 1000 files (as detailed
  2331.         above) and this  would be unlikely. If it  is neither of these
  2332.         then contact the author (after you have tried again to receive
  2333.         the file).
  2334.  
  2335.  
  2336.    Existing file cannot be overwritten. File <filename>
  2337.  
  2338.         The <filename>  being received already  exists on your  system
  2339.         and  is either  Read-Only, Hidden,  System or  a Volume  Label
  2340.         Name.  Either way,  this is  not a  serious message as MPModem
  2341.         will simply reject such files.
  2342.  
  2343. MPModem v1.60  Copyright (C) M. Jose                                 Page 49
  2344.  
  2345.  
  2346.    File positioning error.
  2347.  
  2348.         This  can happen  when both  receiving and  sending. Generally
  2349.         this indicates  (when sending) that the  receiver has asked us
  2350.         to  reposition  past  the  End-Of-File.  The  same  can go for
  2351.         receiving.
  2352.  
  2353.         Generally,  it is  wise to  assume  that  it could  be a  disk
  2354.         problem so run CHKDSK or  its equivalent and perhaps some type
  2355.         of disk diagnosis tool to  assure yourself that the disk media
  2356.         is not at fault.
  2357.  
  2358. MPModem v1.60  Copyright (C) M. Jose                                 Page 50
  2359.  
  2360.  
  2361.   8.0  Exit Codes
  2362.   ---------------
  2363.  
  2364.    The following  exit codes are  generated when MPModem  finishes the
  2365.    session:
  2366.  
  2367.        Code        Description
  2368.      ---------------------------------------------------------------------
  2369.         0          Normal exit. (Could be you or the remote have
  2370.                    cancelled the transmission).
  2371.  
  2372.         1          Carrier has been lost.
  2373.  
  2374.         2          Invalid baud rate. Out of the supported range of
  2375.                    0 to 115200.
  2376.  
  2377.         3          Invalid communications port specified on the
  2378.                    command line. Supported values are 1 to 8.
  2379.  
  2380.         4          Unable to open the Configuration files called
  2381.                    MPModem.Cfg.
  2382.                    Generally a  message will be  shown on your  screen
  2383.                    and  if MPModem  can write  to the  report file, it
  2384.                    will also write the reason in there.
  2385.  
  2386.         5          MPModem  was  unable  to  read  the  configuration.
  2387.                    Possibly  the  file  is  either  missing  or an old
  2388.                    version.   If   it   is   the   latter,   then  run
  2389.                    "cfg-conv.exe" try to update it. Check the contents
  2390.                    of  the  MPMODEM.RPT  file  -  it  may  contain the
  2391.                    answer.
  2392.  
  2393.         6          MPModem  could  not   read  or  parse  the  options
  2394.                    contained in the MPMODEM.CTL file. This file should
  2395.                    meet  the specifications  of OPUS.CTL  and is  used
  2396.                    when running this program from a BBS.
  2397.  
  2398.         7          Unknown transfer  option.  Type  MPModem on its own
  2399.                    to see the various transfer options or refer to the
  2400.                    relevant section  of this manual  pertaining to the
  2401.                    switches "-r" and "-s".
  2402.  
  2403.         8          General  invocation  error.  Either  you  have  not
  2404.                    specified the right switches on the command line or
  2405.                    are missing some of the REQUIRED switches.
  2406.  
  2407.         9          MPModem has been called  with the "-@" switch which
  2408.                    causes it to look for a file named "MPMODEM.FIL" in
  2409.                    the  directory  where  MPModem  resides. (MPModem's
  2410.                    directory  can  be  changed  with  the  environment
  2411.                    variable MPMODEM). Thus the file cannot be found or
  2412.                    opened.
  2413.  
  2414.        10          Reserved.
  2415.  
  2416. MPModem v1.60  Copyright (C) M. Jose                                 Page 51
  2417.  
  2418.  
  2419.  
  2420.        11          You   haven't  supplied  a  path/filename  for  the
  2421.                    specified file  transfer. Generally this  means you
  2422.                    have  tried  to  run  Xmodem  without  specifying a
  2423.                    filename. Remember Xmodem  CANNOT pass the filename
  2424.                    to the receiver like Y or Zmodem can.
  2425.  
  2426.        12          MPModem   could   not   find   the   command  file,
  2427.                    MPMODEM.CMD (which should  be where the MPMODEM.CFG
  2428.                    file is) or it could  not allocate enough memory to
  2429.                    transfer a command using  Zmodem. See section 10 on
  2430.                    how to send commands.
  2431.  
  2432.        99          My  program  has been tampered with. Either you are
  2433.                    breaking the law or a  virus has attached itself to
  2434.                    your copy of MPModem. If  it is the former, may you
  2435.                    die a lingering  death! If it is the  latter, get a
  2436.                    virus kit QUICKLY.
  2437.  
  2438. MPModem v1.60  Copyright (C) M. Jose                                 Page 52
  2439.  
  2440.  
  2441.   9.0 Running MPModem from a Bulletin Board
  2442.   -----------------------------------------
  2443.  
  2444.    As  of version  1.60 of   MPModem, it  no longer  directly supports
  2445.    bulletin boards (in the past  this program supported RemoteAccess -
  2446.    a bulletin board based originally (I think) on QBBS).
  2447.  
  2448.    MPModem does still, HOWEVER, support bulletin boards running it. It
  2449.    does this by using the very  common file format of OPUS. The format
  2450.    is (was) based on the standard OPUS.CTL file for filedoors.
  2451.  
  2452.    So long as your bulletin board  can invoke this program (which uses
  2453.    little  memory) and  build a  .CTL file  called MPMODEM.CTL  in the
  2454.    format it  requires, then this  program will run  off your bulletin
  2455.    board.
  2456.  
  2457.    The format required is as follows:
  2458.  
  2459.          Line 1:  Port Number (an integer from 1 to 8).
  2460.          Line 2:  Baud rate.
  2461.          Line 3:  NOT USED.
  2462.          Line 4:  Time remaining (in minutes).
  2463.          Line 5:  Either the download directory or the start of the upload
  2464.                   list.
  2465.            .
  2466.            .
  2467.            .
  2468.          Line xx: End of upload list.
  2469.  
  2470.    Some explanations:
  2471.  
  2472.      The port  number can be  made redundant by  specifying it in  the
  2473.      configuration  file.  See  section  3.1.2  "General Setup Options
  2474.      Screen" for more  details or just run MPConfig,  go to the second
  2475.      menu option and  scan down the page for the  option to select the
  2476.      port number and make it the default.
  2477.  
  2478.      The  baud rate  can also  be made  redundant by  specifing in the
  2479.      configuration  file  that  you  want  MPModem  to  use the values
  2480.      already set  - rather than  initialising them. See  section 3.1.1
  2481.      "File Transfer Options Screen". Generally  it is advisable to set
  2482.      this to  'Y' because some  bulletin boards only  pass the carrier
  2483.      rate  (rather than  the connect   rate) to  the control  file. If
  2484.      MPModem uses this  rate your transfers will be  garbled and won't
  2485.      even start.
  2486.  
  2487.           NOTE: Both  port  and  baud  rate  ARE  NOT necessary if you
  2488.                 select  the  option  in  the  "File  Transfer  Options
  2489.                 Screen" (see section 3.1.1)  called "Use current Comm.
  2490.                 port settings  for Baud rate?"  and set it  to Y. This
  2491.                 means baud and port settings (except FIFO buffer) will
  2492.                 be untouched by MPModem.
  2493.  
  2494.                 It is recommended you do the above (even if you supply
  2495.                 the port and baud rate).
  2496.  
  2497. MPModem v1.60  Copyright (C) M. Jose                                 Page 53
  2498.  
  2499.      Line  5 can  be one  of two  things. If  the MPModem  program was
  2500.      invoked  by someone  wanting to  send files  to your system, then
  2501.      this line  will contain the download  directory where those files
  2502.      are received into.  If the user wants your  system to send files,
  2503.      then line  5 (and onwards) will  contains the names and  paths of
  2504.      the files MPModem will send to the user.
  2505.  
  2506.    If  all these  criteria can  be  met,  you should  have a  seamless
  2507.    integration of MPModem into your bulletin board system.
  2508.  
  2509. MPModem v1.60  Copyright (C) M. Jose                                 Page 54
  2510.  
  2511.  
  2512.   9.0.1 Reading the log file to obtain transfer details
  2513.   -----------------------------------------------------
  2514.  
  2515.    Most  bulletin   board  program  designers  seem   to  have  enough
  2516.    forethought to  have allowed for  external protocol and  the proper
  2517.    handling of  them. In this case,  they would have also  allowed for
  2518.    options,  when  setting  up  an  external  protocol,  to enable the
  2519.    extraction of the transmitted or received file and the filename.
  2520.  
  2521.    RemoteAccess is one of those programs.
  2522.  
  2523.    In order for  your system to know which  files were transferred and
  2524.    what size they were (especially for incoming files), it has to have
  2525.    some  way  of  scanning  through  the  log  file  (MPModem.Log) and
  2526.    extracting the relevant details.
  2527.  
  2528.    What it needs to  be able to do is scan for  the following (on each
  2529.    line of the log file):
  2530.  
  2531.      At  offset  20  (for  compilers  which  start  at  0) and 21 (for
  2532.      compilers  which   start  at  1)   is  the  following   important
  2533.      information.
  2534.  
  2535.      "Transmitted:" - One space  after  this is  the full  path of the
  2536.                       file SENT (downloaded from the BBS).
  2537.      "Received:"    - One space  after this is  the name  of  the file
  2538.                       RECEIVED (uploaded to the BBS).
  2539.                       Do not  use the "Remote  filename:" whih appears
  2540.                       in  the  log  file.  This  could  be  a  strange
  2541.                       filename before conversion  to DOS. For example,
  2542.                       it could  be a Macintosh file  called "Red Rover
  2543.                       Over and  Out", which will  become a "Received:"
  2544.                       filename  of  "Red_Rove".  "Bytes:"  - One space
  2545.                       after  this  is  the  amount  of  bytes  sent or
  2546.                       received.
  2547.  
  2548.    If for some reason your system does not allow for this, then search
  2549.    around for a filedoor that will allow  you to do this. If you still
  2550.    have  no luck  then let  me  know,  perhaps I  could write  a quick
  2551.    filedoor to correct the problem.
  2552.  
  2553.    ANY  requests for  MPModem to  write DSZ  style log  files will  be
  2554.    rejected  outright. As  the log  is part  of the  author's (of DSZ)
  2555.    copyright,  it too  falls within  these bounds  unless specifically
  2556.    denounced. So there!
  2557.  
  2558. MPModem v1.60  Copyright (C) M. Jose                                 Page 55
  2559.  
  2560.   10.0  Executing commands with Zmodem
  2561.   ------------------------------------
  2562.  
  2563.    Make sure you have read the information regarding the relevant
  2564.    switch "-x{w}" prior to reading this section.
  2565.  
  2566.    MPModem allows for  the sending of command sequences  to the remote
  2567.    end  which will  then (if  allowed) execute  those commands or even
  2568.    exit to a shell (which is called SH.EXE).
  2569.  
  2570.    Commands can ONLY be sent by the sender and can only be executed by
  2571.    the receiver.  All commands are to  be in the MPModem  path (set by
  2572.    the environment  variable MPMODEM or  else it defaults  to the path
  2573.    where MPModem was executed from) in a file called MPMODEM.CMD.
  2574.  
  2575.    Only one  line of commands are  allowed. Any more than  one line is
  2576.    ignored. For unix systems this isn't  a problem as you can separate
  2577.    several commands using the ";" such as:
  2578.  
  2579.      ls -lFR>report;cat bozo>>report;grep -i "last:" report>grep.rep
  2580.  
  2581.    For DOS systems, well, too bad...
  2582.  
  2583.    If you want to execute a program, then you can enter the command as
  2584.    such:
  2585.  
  2586.       program {parameters} <CR><LF>
  2587.  
  2588.           (The <CR><LF> combination is for DOS.)
  2589.  
  2590.    Therefore to  execute a shell  (on DOS or  Unix or whatever),  then
  2591.    your command would be:
  2592.  
  2593.         sh scripttorun
  2594.  
  2595.    MPModem send  routine will send  this command to  the receiver, and
  2596.    providing  the receiver  is allowed  to and  can perform  the above
  2597.    command, it will do so and end the current Zmodem trabsfer session.
  2598.  
  2599.    So  feasibly you  could send  the file  "scripttorun" and providing
  2600.    this  download  goes  to  the  current  directory  in which MPModem
  2601.    resides, you could then send the above command and execute it.
  2602.  
  2603.    The maximum length of a command  is 1024 bytes (including the CR/LF
  2604.    combination).
  2605.  
  2606.    An  example command  file is  included and  a dummy  script program
  2607.    called "SH.EXE" are  included. It doesn't do much  but show you how
  2608.    commands can work. Put the SH.EXE program in your MPModem directory
  2609.    and  enable commands  via the  configuration program.  Then get the
  2610.    sender to  send the command. If  you are using MPModem  to send the
  2611.    command, then get them to place the MPMODEM.CMD file in the MPModem
  2612.    directory and specify a command line like:
  2613.  
  2614.                "mpmodem -sz -p? -b???? -x".
  2615.  
  2616. MPModem v1.60  Copyright (C) M. Jose                                 Page 56
  2617.  
  2618.  
  2619.   11.0  Acknowledgements
  2620.   ----------------------
  2621.  
  2622.    The author wishes to acknowledge the following peoples' work:
  2623.  
  2624.  
  2625.       Gary S. Brown      -  The 32 bit CRC code.
  2626.       Joe Campbell       -  "C Programmer's Guide to Serial
  2627.                             Communications",  an  excellent  reference
  2628.                             book  written  clearly   but  perhaps  not
  2629.                             concisely. A good starting text.
  2630.       Ward Christensen   -  Creator of Modem.Asm (1977) & Ymodem.
  2631.       Chuck Forsberg     -  The creator of Public Domain Zmodem (under
  2632.                             a Telnet contract).
  2633.       Keith  Petersen    -  Adapted  Modem.Asm for  RCPM (Remote CP/M)
  2634.                             systems and called it Xmodem.
  2635.  
  2636.    All products  mentioned in this documentation  are trademarks of or
  2637.    copyright to their respective owners. 
  2638.